Information processing apparatus and information processing method

ABSTRACT

In an information processing apparatus connectable to a terminal through a network, a terminal type of the terminal is specified based on a first request requesting Web information, said first request sent from the terminal through the network, and reference Web information is generated so as to include reference path created by adding terminal type information showing the specified terminal type to a path indicated in the first request for accessing the Web information and to allow the terminal to automatically accesses to the reference path. Then, the reference Web information is sent to the terminal as a response with respect to the first request, and a second request for requesting the Web information specified by the reference path is received.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. application Ser. No.10/622,572 filed on Jul. 21, 2003 now U.S. Pat. No. 7,373,347, and inturn claims priority to JP2002-212300 filed Jul. 22, 2002, JP2002-242548filed Aug. 22, 2002, JP2002-242550 filed Aug. 22, 2002, andJP2003-197850 filed Jul. 16, 2003, the entire contents of each of whichare hereby incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention generally relates to an information processingapparatus capable of connecting to a terminal through the Internet andincluding a plurality of Web applications and an information processingmethod in that terminal type information, language information, andprofile information of the terminal can be succeeded while a pagetransition is conducted by a user of the terminal among the plurality ofWeb applications, and in that information suitable for the terminal canbe provided while maintaining user-friendliness.

2. Description of the Related Art

Recently, the Internet has been widely used by not only a client PC(Personal Computer) but also mobile phone and PDA (Personal DigitalAssistant) terminal, and information has been provided in variouslanguages and to various level users. A method for providing informationhas bee diversified.

In order to provide information corresponding to a terminal such as theclient PC, the mobile phone, or PDA terminal, Japanese Laid-Open PatentApplication No. 11-175515 discloses that display contents correspondingto the terminal type of the terminal is generated for HTML data createdbeforehand. Or, Japanese Laid-Open Patent Application No. 2002-63108discloses that a gateway server, that intermediates between a Web serverfor providing information and a terminal for requesting information,deletes unnecessary data and adjusts color attributes of an image withrespect to information provided from the Web server in response to therequest of the terminal, based on the terminal type of the terminal.

Moreover, Japanese Laid-Open Patent Application No. 2002-7095 disclosesa data processing apparatus including a Web server function capable ofproviding information concerning a image forming process. In the dataprocessing apparatus, a user of the terminal can obtain informationconcerning a device for conducting a image forming process and providedwith the data processing apparatus, through the Internet.

Furthermore, Japanese Laid-Open Patent Application No. 11-306070discloses a data succeeding method in that by using information input bythe user of the terminal is stored in a predetermined storage area, theinformation can be succeeded while the user conducts the pagetransition.

However, the above-mentioned conventional methods have the followingproblems.

In the Web server having the Web server function capable of providinginformation concerning the image forming process, in a case in that astate of the image forming process or a device such as a plottercontrolled by the Web server for conducting the image forming process isprovided, since the information should be provided timely, HTML datacannot be prepared beforehand. Accordingly, the method disclosed byJapanese Laid-Open Patent Application No. 11-175515 cannot be applied inthis case. In a case of Japanese Laid-Open Patent Application No.2002-63108, a cost of installing the gateway server and maintenance ofthe gateway server are required.

In the data processing apparatus disclosed by Japanese Laid-Open PatentApplication No. 2002-7095, it is impossible to provide informationsuitable for the size of a display screen of the terminal such as theclient PC, the mobile phone, and the PDA terminal.

Moreover, in the data succeeding method disclosed by Japanese Laid-OpenPatent Application No. 11-306070, a page for allowing the user to inputinformation concerning the user of the terminal is required and the useris required to explicitly input the information into the page. Inaddition, it is required to manage the information, which is to besucceeded, for each user. Accordingly, it is impossible to automaticallyprovide information suitable for the size of the display screen.

SUMMARY OF THE INVENTION

It is a general object of the present invention to provide aninformation processing apparatus and an information processing method inwhich the above-mentioned problems are eliminated.

A more specific object of the present invention is to provide theinformation processing apparatus capable of connecting to a terminalthrough the Internet and including a plurality of Web applications andthe information processing method in that terminal type information,language information, and profile information of the terminal can besucceeded while a page transition is conducted by a user of the terminalamong the plurality of Web applications, and in that informationsuitable for the terminal can be provided while maintaininguser-friendliness.

The above objects of the present invention are achieved by aninformation processing apparatus connectable to a terminal throughnetwork, the information processing apparatus including: a reference Webinformation generating part specifying a terminal type of the terminalbased on a first request requesting Web information sent from theterminal through the network, and generating reference Web informationthat includes reference path created by adding terminal type informationshowing the specified terminal type to a path indicated in the firstrequest for accessing the Web information and that allows the terminalautomatically accesses to the reference path; and a communicating partsending the reference Web information to the terminal as a response withrespect to the first request, and receiving a second request forrequesting the Web information specified by the reference path.

In the information processing apparatus, the Web informationautomatically accessing by the reference path from the terminal isgenerated and provided to the terminal. Accordingly, at a side of theterminal, a user of the terminal is not required to input the terminaltype information and it is possible for the terminal to obtain thereference path including the terminal type information from the Webinformation. Moreover, since the reference path is provided to theterminal before the Web information desired by the user is provided, itis not necessary for a developer to develop a Web application generatingthe Web information for each terminal type.

For example, the Web information is information to provide on a Webbrowser through the Internet.

Moreover, when the communicating part receives the first request fromthe network, the communicating part additionally may provide a defaultvalue of the terminal type and reference Web information identificationfor identifying the reference Web information generating part to thepath for the Web information indicated in the first request, and thereference Web information generating part may be executed by thereference Web information identification additionally provided by thecommunicating part and may replace the default value with the specifiedterminal type.

In the information processing apparatus, when the first request isreceived, the communicating part (for example, HTTP daemon) additionallyprovides the default value and the reference Web informationidentification beforehand. Therefore, the reference Web informationgenerating part is always executed with respect to the first request.

Furthermore, the communicating part may create the reference path byadding the default value before the Web information identification foridentifying the Web information in the path for the Web informationindicated in the first request.

In the information processing apparatus, since the terminal typeinformation is set before the Web information identification, the pathafter the Web information identification can be used as a relative path.Therefore, even if the page transition is conducted from the referenceinformation, the terminal type information can be always succeeded tonext Web information.

Moreover, the information processing apparatus may further include a Webinformation generating part generating the Web information; and adisplay information generating part generating a Web page by describingthe Web information corresponding to the terminal in a display formatfor displaying the Web information at the terminal based on the terminaltype information obtained from the reference path indicated by thesecond request. In addition, the display information generating part mayinclude an XML describing part describing the Web information generatedby the Web information generating part and the terminal type informationin an extensible markup language; and an HTML converting part generatingthe Web page by converting the Web information described in theextensible markup language into a hypertext markup language inaccordance with a style sheet corresponding to the Web information basedon the terminal type information.

In the information processing apparatus, the display informationgenerating part generates the Web page corresponding to the terminaltype, and a generation of the Web page is conducted independent of ageneration of the Web information. Therefore, it is possible to easilydevelop and add the Web application.

Furthermore, the information processing apparatus may include aplurality of other Web information generating parts generating other Webinformation other than the Web information, the other Web informationlinked from the Web information by a relative path, wherein when one ofthe other Web information generating part corresponding to the other webinformation generates the other Web information in response to a thirdrequest for requesting the other Web information selected by a user atthe terminal displaying the Web information, the display informationgenerating part generates the Web page for displaying the other Webinformation suitable for the terminal at the terminal, based on theterminal type information set in the reference path.

In the information processing apparatus, even if another Web pageproviding another Web information is linked from the Web page providingthe Web information currently displayed at the terminal, it is possibleto obtain the terminal type information set in the reference path incommon. Therefore, the Web page can be generated by corresponding to thedisplay screen of the terminal.

Moreover, the information processing apparatus may further include a Webframe information generating part setting relative paths for the Webinformation and the other Web information to display for each of aplurality of frames, and generating Web frame information defining theplurality of frames to divide the Web page, wherein the reference Webinformation generating part generates the reference web information thatincludes the reference path to access the Web frame information createdby adding terminal type information to a path for the Web frameinformation and that allows the terminal to automatically access to thereference path, and when the communicating part sends the reference Webinformation to the terminal as the response to the first request andreceives the second request requesting the Web frame information by thereference path from the terminal, the Web frame information generatingpart is executed.

In the information processing apparatus, in a case in that the Webscreen divided into a plurality of Web pages by frames, the Web frameinformation setting the reference path is automatically requested fromthe terminal. Each of the Web information and other Web information canbe accessed by the relative paths, respectively, and the terminal typeinformation can be succeeded.

Furthermore, display information generating part may disable the Webframe information generating part based on the terminal type informationobtained from the reference path indicated in the second request, andgenerates the Web page that allows the terminal to directly access theWeb information by a relative path for the Web information requested bythe first request.

In the information processing apparatus, when the terminal is a terminalother than a PC, the frame information is not sent to the terminal.Instead, the Web page directly accessing the Web information isgenerated and sent to the terminal.

Moreover, the information processing apparatus may further include animage forming part forming an image; and an image formation controllingpart controlling the image forming parts, wherein at least one of theWeb information generating part and the other Web information generatingparts obtains information concerning the image forming part from theimage formation controlling part and generates the Web information basedon the obtained information.

In the information processing apparatus, while succeeding to theterminal type information, it is possible to provide as the Webinformation a status of a device such as a plotter or a scanner, whichis mounted to the information processing apparatus and forms an image.

Furthermore, the display information generating part may generate theWeb page by additionally providing an image to the Web information orthe other Web information generated by the Web information generatingpart or the other Web information generating parts, based on theterminal type information set based on the reference path in common.

In the information processing apparatus, for example, when the displayscreen of the terminal is smaller than that of a regular PC, the Webpage is generated so as to display the Web information without an image.

Moreover, the display information generating part generates the Web pagedisplaying the Web information or the other Web information generated bythe Web information generating part or the other Web informationgenerating parts, in a font size suitable for the terminal, based on theterminal type information set based on the reference path in common.

In the information processing apparatus, for example, when the displayscreen of the terminal is smaller than that of the regular PC, the Webpage is generated so as to display the Web information in smaller fonts.When the display screen of the terminal is larger than that of theregular PC, the Web page is generated so as to display the Webinformation in bigger fonts.

Furthermore, the display information generating part may generate theWeb page displaying the Web information or the other Web informationgenerated by the Web information generating part or the other Webinformation generating parts, by a number of letters suitable for theterminal, based on the terminal type information set based on thereference path in common.

In the information processing apparatus, for example, when the displayscreen of the terminal is smaller than that of the regular PC, the Webpage is generated so as to display the Web information by fewer letters.When the display screen of the terminal is larger than that of theregular PC, the Web page is generated so as to display the Webinformation by more letters in detail.

The above objects of the present invention are achieved by aninformation processing apparatus for providing the Web page displayingthe Web information by corresponding to a language used at the terminal.

The above objects of the present invention are achieved by aninformation processing apparatus for providing the Web page displayingthe Web information by corresponding to a profile of the user using atthe terminal.

BRIEF DESCRIPTION OF THE DRAWINGS

In the following, embodiments of the present invention will be describedwith reference to the accompanying drawings.

FIG. 1 is a block diagram showing a hardware configuration of aninformation processing apparatus according to a first embodiment of thepresent invention;

FIG. 2 is a block diagram showing a functional configuration of theinformation processing apparatus according to the first embodiment ofthe present invention;

FIG. 3 is a diagram showing a URL configuration according to the firstembodiment of the present invention;

FIG. 4 is a block diagram for explaining an execution of Webapplications according to the first embodiment of the present invention;

FIG. 5A is a diagram showing a hash list and FIG. 5B is a diagramshowing another hash list according to the first embodiment of thepresent invention;

FIG. 6 is a diagram showing a process flow for default.cgi according tothe first embodiment of the present invention;

FIG. 7 is a diagram showing the process flow for default.cgi accordingto the first embodiment of the present invention;

FIG. 8 is a flowchart diagram for explaining an analyzing process forterminal information according to the first embodiment of the presentinvention;

FIG. 9 is a diagram showing a data structure of HTTP connectioninformation according to the first embodiment of the present invention;

FIG. 10 is a diagram showing a data structure of HTTP requestinformation according to the first embodiment of the present invention;

FIG. 11 is a diagram showing a header information list according to thefirst embodiment of the present invention;

FIG. 12 is a diagram showing a Web browser type-terminal typecorrespondence table according to the first embodiment of the presentinvention;

FIG. 13 is a diagram showing a Web browser OS-terminal typecorrespondence table according to the first embodiment of the presentinvention;

FIG. 14 is a diagram showing an example of a default HTML outputaccording to the first embodiment of the present invention;

FIG. 15 is a diagram showing a process flow by mainFrame.cgi accordingto the first embodiment of the present invention;

FIG. 16 is a diagram showing the process flow by mainFrame.cgi accordingto the first embodiment of the present invention;

FIG. 17 is a diagram showing an example of a mainframe HTML output for aPC according to the first embodiment of the present invention;

FIG. 18 is a diagram showing a process flow by topPage.cgi according tothe first embodiment of the present invention;

FIG. 19 is a diagram showing the process flow by topPage.cgi accordingto the first embodiment of the present invention;

FIG. 20 is a diagram showing an example of a process result described inXML by topPage.cgi according to the first embodiment of the presentinvention;

FIG. 21 is a diagram showing a description example of XSL for convertingthe process result from XML to HTML according to the first embodiment ofthe present invention;

FIG. 22 is a diagram showing a description example of HTML for the PC inthat the process result of topPage.cgi is shown, according to the firstembodiment of the present invention;

FIG. 23 is a diagram showing a display example of a system status at theclient PC according to the first embodiment of the present invention;

FIG. 24 is a diagram showing a description example of HTML for a PDAterminal where the process result of topPage.cgi is shown, according tothe first embodiment of the present invention;

FIG. 25 is a diagram showing a display example of the system status at aPDA terminal according to the first embodiment of the present invention;

FIG. 26 is a diagram showing a display example of “Network Settings” atthe PDA terminal according to the first embodiment of the presentinvention;

FIG. 27 is a diagram showing an unsuitable display example of “NetworkSettings” at the PDA terminal according to the first embodiment of thepresent invention;

FIG. 28 is a block diagram showing a functional configuration of theinformation processing apparatus according to a second embodiment of thepresent invention;

FIG. 29 is a block diagram for explaining an execution of the Webapplications according to the second embodiment of the presentinvention;

FIG. 30A and FIG. 30B are diagrams showing hash lists according to thesecond embodiment of the present invention;

FIG. 31 is a diagram showing the process flow for default.cgi accordingto the second embodiment of the present invention:

FIG. 32 is a diagram showing the process flow for default.cgi accordingto the second embodiment of the present invention:

FIG. 33 is a flowchart diagram for explaining the analyzing process forthe language information according to the second embodiment of thepresent invention;

FIG. 34 is a diagram showing a header information list according to thesecond embodiment of the present invention;

FIG. 35A is a diagram showing an accept language information, FIG. 35Bis a diagram showing available language list, and FIG. 35C is a diagramshowing an operation panel language stored in a predetermined storagearea;

FIG. 36 is a diagram showing an example of the default HTML outputaccording to the second embodiment of the present invention;

FIG. 37 is a diagram showing a process flow by netsetting.cgi accordingto the second embodiment of the present invention;

FIG. 38 is a diagram showing a process flow by netsetting.cgi accordingto the second embodiment of the present invention;

FIG. 39 is a diagram showing an example of the process result describedin XML by netsetting.cgi according to the second embodiment of thepresent invention;

FIG. 40 is a diagram showing an example of the language resourceaccording to the second invention of the present invention;

FIG. 41 is a diagram showing a description example of the style sheetfor converting the process result from XML to HTML according to thesecond embodiment of the present invention;

FIG. 42 is a diagram showing a description example of the style sheetfor converting the process result from XML to HTML according to thesecond embodiment of the present invention;

FIG. 43 is a diagram showing a description example of the style sheetfor converting the process result from XML to HTML according to thesecond embodiment of the present invention;

FIG. 44 is a diagram showing an example of the network setting HTML inEnglish showing the process result of netsetting.cgi, according to thesecond embodiment of the present invention;

FIG. 45 is a diagram showing the network setting page displayed inEnglish according to the second embodiment of the present invention;

FIG. 46 is a diagram showing another Web page linked from the networksetting page in FIG. 45 according to the second embodiment of thepresent invention;

FIG. 47 is a diagram showing an example of the system status HTML inJapanese showing the process result of sysstatus.cgi, according to thesecond embodiment of the present invention;

FIG. 48 is a diagram showing an example of a system status page inJapanese according to the second embodiment of the present invention;

FIG. 49 is a block diagram showing a functional configuration of theinformation processing apparatus according to the third embodiment ofthe present invention;

FIG. 50 is a block diagram for explaining an execution of the Webapplications according to the third embodiment of the present invention;

FIG. 51 is a diagram showing a process flow by rolechange.cgi accordingto the third embodiment of the present invention;

FIG. 52 is a diagram showing the process flow by netsetting.cgiaccording to the third embodiment of the present invention;

FIG. 53 is a diagram showing the process flow by netsetting.cgiaccording to the third embodiment of the present invention;

FIG. 54 is a diagram showing a correspondence between the profileinformation to set in the URL and the profile of the user according tothe third embodiment of the present invention;

FIG. 55 is a diagram showing an example of the HTML response calling thenetwork setting page for the system administrator according to the thirdembodiment of the present invention;

FIG. 56 is a diagram showing an example of the process result describedin XML by netsetting.cgi according to the third embodiment of thepresent invention;

FIG. 57 is a diagram showing a description example of the style sheetfor converting the process result from XML to HTML according to thethird embodiment of the present invention;

FIG. 58 is a diagram showing a description example of HTML for thesystem administrator in that the process result of the netsetting.cgi isshown, according to the third embodiment of the present invention; and

FIG. 59 is a diagram showing the network setting page for the systemadministrator according to the third embodiment of the presentinvention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

In the following, embodiments of the present invention according to aninformation processing apparatus will be described with reference to theaccompanying drawings.

First Embodiment

An information processing apparatus according to a first embodiment ofthe present invention includes at least one of a plurality of differentimage forming functions such as a printer, a FAX, and a copier, and alsoprovides information concerning the image forming functions by aplurality of Web applications. In the present invention, for the sake ofconvenience, a case in that information concerning a copying process anda plotter for conducting a copy will be mainly described. Theinformation processing apparatus provides the information by a suitablesize for a display screen of a terminal requesting the information.

FIG. 1 is a block diagram showing a hardware configuration of theinformation processing apparatus according to the first embodiment ofthe present invention. In FIG. 1, the information processing apparatus100 is controlled by a computer, and includes a CPU (Central ProcessingUnit) 11, a ROM (Read-Only Memory) 12, a RAM (Random Access Memory) 13,a non-volatile RAM 14, a real time clock 15, an Ethernet™ I/F(Interface) 21, a USB (Universal Serial Bus) 22, an IEEE 1284 (Instituteof Electrical and Electronics Engineers 1284) 23, a hard disk I/F 24, anengine I/F 25, and an RS-232C I/F 26, which are mutually connectedthrough a system bus B.

The CPU 11 controls the information processing apparatus 100 accordingto the programs stored in the ROM 12. For example, the RAM 13 includesan area to assign to each resource connected to one of the interfaces 21through 26. The non-volatile RAM 14 stores information necessary for aprocess by the CPU 11 to control the information processing apparatus100. The real time clock 15 clocks a present time, and also is used bythe CPU 11 to synchronize the process.

The Ethernet™ I/F 21 is used to connect to an interface cable for theEthernet™ I/F 21 such a 10 BASE-T or 100 BASE-TX. The USB I/F 22 is usedto connect to an interface cable based on the USB standard. The IEEE128423 is used to connect to an interface cable based on the IEEE1284standard.

The hard disk I/F 24 is used to connect to a hard disk 34. Document dataconcerning a document that is sent through a network to print or imagedata after a printing process is stored in the hard disk 34 through thehard disk I/F 24. The engine I/F 25 is used to connect to a plotter 35-1for printing to a predetermined medium based on the document data and ascanner 35-2 for reading the image data. The RS-232C I/F 26 is used toconnect to an operation panel 36 that displays information to a user orobtains information input or set by the user.

Next, a functional configuration of the information processing apparatus100, which includes the hardware configuration as shown in FIG. 1,conducts a plurality of different image forming processes, and includesa plurality of Web applications, will be described with reference toFIG. 1.

FIG. 2 is a block diagram showing the functional configuration of theinformation processing apparatus according to the first embodiment ofthe present invention. In FIG. 2, the information processing apparatus100 is capable of connecting to terminals 40 including a client PC 41, amobile phone 42, and a PDA (Personal Digital Assistant) terminal 43,which have different utilization forms of a display screen. Theinformation processing apparatus 100 is a computer to provideinformation as a response with respect to a request sent from each ofthe terminals 40.

The information processing apparatus 100 mainly includes a networkcontrolling part 101, a sequence control library 110, a Web applicationdistribution common library 120, a Web page handler 200, a SOAP (SimpleObject Access Protocol) library 201, an XML (extensible Markup Language)library 203, an XSLT (XSL Transformations) processor 205, a Web pagefunction (WPF) 300, a printer controlling part 103, and a scannercontrolling part 105.

The network controlling part 101 includes at least an HTTP daemon 2 forconducting a communication control in accordance with an HTTP (HyperText Transfer Protocol). The network controlling part 101 receives therequest from each terminal 40 and provides information as a responsewith respect to the request.

In order to execute a predetermined process so as to succeed toattribute information showing attributes concerning a utilization formof a Web browser of the terminal 40 while a user conducts pagetransitions (browse one Web page linked from another Web page) among aplurality of Web applications 301, when the HTTP daemon 2 receives therequest from the terminal 40, and additionally provides a temporarycommon path information, and a Web application ID and a CGI (CommonGateway Interface) which are referred to execute the predeterminedprocess, to the URL indicated by the request. The HTTP daemon 2 addsnecessary information and creates the URL as shown in FIG. 3. FIG. 3 isa diagram showing a URL configuration according to the first embodimentof the present invention. In FIG. 3, the URL is mainly formed by acommon path information 60 a and a relative path information 60 b.

When the HTTP daemon 2 receives a first page request from the terminal40, for example, only “http://AAA” is indicated as the URL. The HTTPdaemon 2 additionally provides predetermined“/TERMINAL/PROFILE/LANG/webDefaultApl/defaul.cgi” to the URL.

For example, the URL formed as described above includes a protocol type61 for specifying access means such as the http, an IP address 62 shownas “AAA”, a terminal type information 63 a shown as “TERMINAL”, aprofile information 63 b shown as “PROFILE”, a language information 63 cshown as “LANG”, a Web application ID 64 shown as “webDefaultApl”, andpage information 65 shown as “default.cgi”.

The protocol type 61, the IP address 62, the terminal type information63 a, the profile information 63 b, the language information 63 c areset as the common path information 60 a. After that, the common pathinformation 60 a is succeeded every time at the page transition, and isreferred by the plurality of Web applications 301 being chained by thepage transition. And the relative path information 60 b is formed by theWeb application ID 64 and the page information 65.

Referring to FIG. 2 again, explanation of each processing part will becontinued.

The sequence control library 110 is a processing part that is sharedwith the plurality of Web applications 301 and handles by apredetermined sequence controlling process a difference between aprocess sequence of sending and receiving data through the Internet 16and another process sequence of sending and receiving data to/from eachof the Web applications 301.

The Web application distribution common library 120 is a processing partthat is shared with the plurality of Web applications 301, and thatanalyzes a request from the terminal 40 and generates a response for theterminal 40. The Web application distribution common library 120converts the response described in XML by the Web page handler 200 intothe response described in a display format by HTML (HyperText MarkupLanguage) corresponding to the terminal type of each terminal 40 byusing the XSLT processor 205.

The Web page handler 200 is a processing part that converts a processlanguage understandable for the Web applications 301 into anotherprocess language understandable in the communication control conductedwith the terminal 40 for the request and the response. The Web pagehandler 200 calls one Web application 301 corresponding to the requestvia a CGI indicated by the request. Also, the Web page handler 200 sendsa serialization request to the SOAP library 201 to serialize processresult data provided from the Web page function 300.

The SOAP library 201 converts the process result data given by variablesof C language into a description in XML so as to serialize the processresult. In the first embodiment, serialization means to describe theprocess result provided from the Web page function 300 in XML.

The XML library 203 is used by the SOAP library 201 to serialize theprocess result by describing in XML. Also, the XML library 203 is usedby the XSLT processor 205 to generate the process result described inHTML.

The XSLT processor 205 converts the process result described in XML intoHTML by using the XML library 203 based on a style sheet 430 describedin XSL (extensible Stylesheet Language) corresponding to the Webapplication 301 indicated by the request from the terminal 40. The stylesheet 430 is prepared beforehand by corresponding to each Webapplication 301 and instructs a conversion method for each size of thedisplay screens.

When the Web page function 300 is called from the Web page handler 200,for example, inquires the printer controlling part 103 or the scannercontrolling part 105 mounted to the information processing apparatus 100through an API (Application Program Interface) 17, obtains informationshowing a status of the plotter 35-1 or the scanner 35-2, and thenprovides the information to the Web page handler 200. Moreover, the Webpage function 300 inquires the network controlling part 101 through theAPI 17, obtains information from the network controlling part 101, andprovides the information to the Web page handler 200.

Next, a detailed configuration for executing the Web applications willbe described with reference to FIG. 4, FIG. 5A and FIG. 5B. FIG. 4 is ablock diagram for explaining an execution of the Web applicationsaccording to the first embodiment of the present invention. FIG. 5A andFIG. 5B are diagrams showing hash lists according to the firstembodiment of the present invention. In FIG. 4, for example, in order toprovide information based on the configuration of the URL as shown inFIG. 3, the Web page handler 200 includes a default handler 210 executedat a first request from the terminal 40, a network setting handler 220executed by a page transition in accordance with the instruction fromthe terminal 40, a system configuration information providing handler230 similarly executed by page transition, and a like.

Corresponding to the handlers in the Web page handler 200, respectively,the Web page function 300 includes the plurality of Web applications301: a Web default application 310, a Web network setting application320, a Web system configuration information providing application 330,and a like.

Until an initial display screen is displayed at the terminal 40, thedefault handler 210 sequentially calls the Web default application 310through “default.cgi”, “mainFrame.cgi”, “manuPage.cgi”, “topPage.cgi”,and “headerPage.cgi” indicated by the page information 65 in accordancewith a format of the URL shown in FIG. 3. As a result, for example, astatus of the device such the plotter 35-1 or scanner 35-2 mounted inthe information processing apparatus 100 is displayed at the terminal40.

The network setting handler 220 calls a function for the Web networksetting application 320 for setting up network setup informationinputted by a user of the terminal 40 in the information processingapparatus 100. In addition, the system configuration informationproviding handler 230 calls the Web system configuration informationproviding application 330 so as to obtain a system configurationinformation of the information processing apparatus 100 in response to arequest from the terminal 40.

The Web application distribution common library 120 obtains the Webapplication ID 64 from a URL, and refers to a hash list 50 a shown inFIG. 5A. When the Web application ID 64 shows “webDefaultApl”, the Webapplication distribution common library 120 executes “default_handler”.In the same manner, when the Web application ID 64 shows another Webapplication ID, the Web application distribution common library 120refers to the hash list 50 a, and executes a handler corresponding tothe Web application ID to be executed.

In addition, each of the handlers 210, 220, and 230 in the Web pagehandler 200 obtains the page information 65 from the URL, refers to thehash list shown in FIG. 5B, and calls a function corresponding to thepage information 65. For example, when the page information 65 shows“default.cgi”, “default( )” is obtained to call as a function.Similarly, when the page information 65 shows another CGI, each of thehandlers 210, 220, and 230 refers to hash list 50 b and obtains afunction to call.

Moreover, in order to conduct the XSL conversion request which convertsthe process result described by XML to the XSLT processor 205 into HTML,the Web application distribution common library 120 obtains the pageinformation 65 from the URL specified as a Web page function ID, andobtains a corresponding style sheet 430 by referring to the hash list 50b shown in FIG. 5B. For example, when the page information 65 shows“topPage.cgi”, the Web application distribution common library 120obtains “topPage.xsl” as a style sheet necessary for the XSL conversionfrom the hash list 50 b Similarly, when the page information 65 isanother CGI, the Web application distribution common library 120 obtainsa style sheet necessary for the XSL conversion by referring to the hashlist 50 b.

In FIG. 4, FIG. 5A, and FIG. 5B, when the page information 65, as theWeb page function ID, of the URL is “default.cgi”, the function default() is executed, and the terminal type of the terminal 40 is determined.Accordingly, the terminal type information of the URL which istemporarily created by the HTTP daemon 2 is replaced with the determinedterminal type and the initial display screen where the URL showing thedetermined terminal type is set is created.

When the page information 65 is “mainFrame.cgi”, a function mainFrame( )is executed, and a predetermined CGI is set for each of frames formingthe initial display screen. For example, the function mainFrame( )generates information so as to configure a frame displaying a menu page,a frame displaying a top page, and a frame displaying a header page.

When the page information 65 is “menuPage.cgi”, the function menuPage( )is executed, and the information for creating a menu page is generated.When the page information 65 is “topPage.cgi”, a function “topPage.cgi”is executed. For example, the information is generated so as to create atop page displaying a status of a printer as a status of the plotter35-1. When the page information 65 is “headerPage.cgi”, a functionheaderPage( ) is executed so as to generate information for creating thetop page.

Moreover, when the page information 65 is “netsetting.cgi” a functionnetsetting( ) is executed so as to generate the information for creatinga page for the system setting. When the page information 65 is“sysconfig.cgi”, a function sysconfig( ) is executed, informationshowing a system configuration is generated.

For the sake of convenience, names of the Web application ID and the Webpage handler are unified. But it is not limited to do so since the hashlist 50 a corresponds the Web application ID to the Web page handler.Also, names of the Web page function ID, the function, the style sheetare unified in the same manner. But it is not limited to do so since thehash list 50 b corresponds the Web page function ID, the function, andthe style sheet each other.

Next, a process flow until information is provided with respect to thefirst request from the terminal 40 will be described. FIG. 6 and FIG. 7are diagrams showing the process flow for default.cgi according to thefirst embodiment of the present invention.

In FIG. 6, the terminal 40 sends a request additionally providing useragent information by using a GET method of the HTTP (step S11). Forexample, the terminal 40 sends the request by indicating a URL“http://AAA”.

When the information processing apparatus 100 receives this request, theHTTP daemon 2 of the information processing apparatus 100 additionallyprovides the terminal type information 63 a, the profile information 63b, the language information 63 c, the Web application ID 64, the pageinformation 65 to the URL “http://AAA”, and then sends this request tothe sequence control library 110 (step S12). For example, the HTTPdaemon 2 additionally provides “TERMINAL” as the terminal typeinformation 63 a, “PROFILE” as the profile information 63 b, “LANG” asthe language information 63 c, “webDefaultApl” as the Web application ID64, and “default.cgi” as the page information 65, to the URL“http://AAA”, so as to form“http://AAA/TERMINAL/PROFILE/LANG/webDefaultApl/default.cgi”.

The sequence control library 110 calls the Web application distributioncommon library 120 (step S13). When calling the Web applicationdistribution common library 120, the sequence control library 110 setsthe HTTP connection information showing information concerning aconnection with the terminal 40, and the hash lists 50 a and 50 b asarguments. In the following, the hash lists 50 a and 50 b aregenerically called hash lists. That is, the hash lists include the hashlists 50 a and 50 b and other hash lists. The HTTP connectioninformation uniquely specifies the connection with the terminal 40 untilthe connection is disconnected.

The Web application distribution common library 120 specifies and callsthe default handler 210 (“default_handler”) from the hash list 50 a, asthe Web page handler 200 corresponding to the Web application ID 64showing “webDefaultApl” based on the URL generated by the HTTP daemon 2(step S14).

In the Web page handler 200, the default handler 210 obtains the pageinformation 65 showing “default.cgi” from the URL, and specifies andcalls the function default( ) from the hash list 50 b as the Web pagefunction 300 corresponding to “default.cgi” (step S15). In this case,the HTTP connection information is set as the argument. For example, ina case in that the Web page function 300 is developed by C language, theWeb page handler 200 converts into a process type of C language and thencalls the function default( ).

By executing the function default( ), based on the HTTP connectioninformation, terminal information is analyzed and a URL calling theinitial display screen is created by including the common pathinformation 60 a determined by the function default( ) (step S16). Aprocess result data including the URL is returned to the default handler210 in the Web page handler 200 (step S17). In a process by default.cgi,the common path information 60 a is determined, and a URL is determinedby the common path information 60 a and the relative path information 60b for determining a frame configuration of the initial display screen.For example, “/pc/admin/ja” is determined as the common path information60 a and “/webDefaultApl/mainFrame.cgi” for dividing the initial displayscreen into a plurality of display areas by frames is determined as therelative path information 60 b.

The default handler 210 sends a serialization request to the SOAPlibrary 201 in order to describe the process result data in XML (StepS18). For example, the SOAP library 201 creates a DOM (Document ObjectModel) based on the process result data shown by a C language structure,additionally provides necessary elements and attributes (step S19), anddescribes the process result data in XML by the XML library 203 (stepS20). The process result data described in XML is provided to thedefault handler 210 as the serialization result by the SOAP library 201(step S21). In the Web page handler 200, the default handler 210provides the serialization result as display data “Response DOM” todisplay at the terminal 40, to the Web application distribution commonlibrary 120 (step S22).

In order to convert the display data described in XML into a descriptionof HTML corresponding to the terminal type of the terminal 40, the Webapplication distribution common library 120 refers to the hash list 50b, obtains the style sheet “default.xsl” corresponding to the pageinformation 65 showing “default.cgi”, and sends the XSL conversionrequest to the XSLT processor 205 (step S23). The display data “ResponseDOM” and the style sheet “default.xsl” are set as arguments for the XSLconversion request.

When the XSLT processor 205 receives the XSL conversion request, theXSLT processor 205 executes the style sheet “default.xsl” indicated bythe argument. Accordingly, the XSLT processor 205 analyzes syntax of thedisplay data “Response DOM” described in XML (parse XML, creates a DOM,additionally provides elements and attributes (step S24), and convertsinto the description of HTML by using the XML library 203 (step S25).The XSLT processor 205 provides the description of HTML to the Webapplication distribution common library 120 as a XSL conversion result(step S26).

The process result described in HTML by the Web page function 300 whenthe page information 65 shows “default.cgi” is output as a default HTMLto the Web application distribution common library 120. In the defaultHTML, “mainFrame.cgi” is described in HTML to be called. The defaultHTML is output as a default HTML response.

The default HTML response is sequentially provided from the Webapplication distribution common library 120 to the sequence controllibrary 110 (step S27) and is provided from the sequence control library110 to the HTTP daemon 2 (step S28). After that, the default HTMLresponse is sent as a response with respect to the request of theterminal 40 in step S11 by the HTTP daemon 2 (step S29). Then, theprocess flow for executing the Web default application 310 by thedefault.cgi is terminated.

In step S17, the common path information 60 a is determined and simplythe common path information 60 a is added to the relative pathinformation 60 b. Accordingly, the Web default application 310 maydescribe the process result in HTML and output the process resultdescribed in HTML. Thus, steps S18 through S26 may be omitted.

Next, an analyzing process for the terminal information executed by thefunction default( ) in step S16 shown in FIG. 6 will be described withreference to FIG. 8 through FIG. 11 in detail. FIG. 8 is a flowchartdiagram for explaining the analyzing process for the terminalinformation according to the first embodiment of the present invention.FIG. 9 is a diagram showing a data structure of the HTTP connectioninformation according to the first embodiment of the present invention.FIG. 10 is a diagram showing a data structure of the HTTP requestinformation according to the first embodiment of the present invention.FIG. 11 is a diagram showing a header information list according to thefirst embodiment of the present invention. The data structures shown inFIG. 9 through FIG. 11 are referred by the analyzing process for theterminal information shown in FIG. 8.

Prior to explanation of the analyzing process in FIG. 8, each of thedata structures shown in FIG. 9 through FIG. 11 will be described. InFIG. 9, the HTTP connection information 340 is information generated foreach connection. In the HTTP connection information 340, a script 346describing “HTTP_REQUEST_INFO *request” indicates a pointer to a contentof the request from the terminal 40 and a script 347 describing“HTTP_RESPONSE_INFO *response” indicates a pointer to a content of theresponse for the terminal 40. The HTTP request information is stored ina area indicated by the pointer shown by the script 346, as shown inFIG. 10.

In FIG. 9, reference numerals 1340, 1346, and 1347 will be referred in asecond embodiment of the present invention.

In FIG. 10, the HTTP request information 350 includes a remote address351 showing an address of the terminal 40 which sent the request, alocal address 352 showing an host address at a side where the request isreceived, a request method 353 such as POST, GET, or a like, a requestURL 354 showing an URL of the request, an HTTP version 355 of therequest, a header information list 360, and a encoded information list357.

In the request URL 354, the URL formed by the common path information 60a and the relative path information 60 b as shown in FIG. 3 is set bythe sequence control library 110. The HTTP request information 350 isprovided to the Web page handler 200 and to the Web page function 300 atthe same time of the HTTP connection information 340. Accordingly, theWeb page handler 200 and the Web applications 301 share and refer to thecommon path information 60 a.

In FIG. 10, reference numerals 1350, 1351, 1352, 1353, 1354, 1355, 1360,and 1357 will be referred in the second embodiment of the presentinvention.

And for example, the header information list 360 is structured as shownin FIG. 11. As shown in FIG. 12, the header information list 360includes user agent information 365 showing“User-Agent:Mozilla/4.0{compatible; MSIE 6.0; Windows NT 5.0; Q312461;NET CLR 1.0.3705}”. The user agent information 365 includes the terminaltype of the terminal 40. Thus, this script of the user agent information365 is analyzed, so as to provide information corresponding to the sizeof the display screen of the terminal 40.

In FIG. 8, in response to a call of the function( ), the Web defaultapplication 310 obtains the HTTP request information 350 from the HTTPconnection information 340 (step S1). Moreover, the Web defaultapplication 310 obtains the user agent information 365 from the HTTPrequest information 350 (step S2). Then, based on a Web browser type ofthe user agent information 365, the Web default application 310 refersto a Web browser type-terminal type correspondence table (FIG. 12) andspecifies the terminal type of the terminal 40 (step S3).

The Web default application 310 determines whether or not the terminaltype is determined based on the Web browser type (step S4). When theterminal type is determined, the Web default application 310 goes tostep S38. When the terminal type is not determined, the Web defaultapplication 310 refers to a Web browser OS-terminal type correspondencetable based on the Web browser OS of the user agent information 365 andspecifies the terminal type of the terminal 40 (step S5).

The Web default application 310 determines whether or not the terminaltype is determined based on the Web browser OS (step S6). When theterminal type is not determined, the default application 310 outputserror information showing that the terminal type is not supported (stepS7), and then the analyzing process for the terminal information isterminated. In step S7, the Web default application 310 sets apredetermined device type as the terminal type of the terminal 40,instead of outputting the error information showing that the terminaltype is not supported, and then the Web default application 310 goes tostep S8.

On the other hand, in steps S4 and S6, when the terminal type isdetermined, the Web default application 310 sets the terminal type tothe terminal type information 63 a of the URL (step S8), and thenterminates the analyzing process for the terminal information.

FIG. 12 is a diagram showing the Web browser type-terminal typecorrespondence table according to the first embodiment of the presentinvention. In FIG. 12, the Web browser type-terminal type correspondencetable 370 includes items of the Web browser type, the terminal type, andthe like. The terminal type corresponding the Web browser type ismanaged in the Web browser type-terminal type correspondence table 370.

For example, as the Web browser type, “DOCOMO™”, “Xiino™”, “MSPIE™”,“HandHTTP™”, “MISE™”, “Mozilla™”, “mozilla/5™”, and “Netscape6™” aremanaged in the Web browser type-terminal type correspondence table 370.

The terminal types are “IMODE™”, “PDA”, “0”, “PC”, and a like. Theterminal type corresponding to the Web browser type “DOCOMO™”, is“IMODE™”. The terminal type corresponding to the Web browser type“Xiino™”, and “MSPIE™”, “HandHTTP™” is “PDA”. The terminal typecorresponding to the Web browser type “Mozilla™”, “mozilla/5™”, and“Netscape6 ™” is “PC”. The terminal types are not limited to theabove-described terminal types but various terminal types can bemanaged.

The terminal type “0” denotes that the terminal type cannot bespecified. In a determination process in step S4 of FIG. 8, the terminaltype is not determined. For example, in a case of a request fromInternetExplorer™, generally, the Web browser type “MSPIE™” is set tothe user agent information 365 when the terminal type is “PDA”, and theWeb browser type “MSIE™” is set to the user agent information 365 whenthe terminal type is “PC”. However, even if the terminal type is “PDA”,there is a case in that the Web browser “MSIE™” is set to the user agentinformation 365. Accordingly, since the terminal type corresponding tothe Web browser type “MSIE™”, cannot be specified beforehand, “0” is setto the terminal type for the Web browser type “MSIE™”.

In a case in that the terminal type cannot be specified as describedabove, a correspondence table shown in FIG. 13 is referred to. FIG. 13is a diagram showing the Web browser OS-terminal type correspondencetable according to the first embodiment of the present invention. InFIG. 13, the Web browser OS-terminal type correspondence table 380includes items of the Web browser OS, the terminal type, and the like.The Web browser OS corresponding to the terminal type is managed.

For example, as the Web browser OS, there are “Windows 3.1™”, “Windows95™”, “Windows 98™”, “Windows ME™”, “Windows NT™”, “Windows 2000™”,“Windows XP™”, “Mac 68K™”, “Mac Power PC™”, “Solaris™”, “Linux™”, “FreeBSD™”, “AIX™”, “IRIX™”, “HP™”, “OS/2™”, “Windows CE™”, and a like.

There are “PDA”, “PC”, and a like as the terminal types. The mobilephone 42 is included in the terminal type “PDA”. In the Web browserOS-terminal type correspondence table 380 shown in FIG. 13, the terminaltype corresponding to the Web browser OS from “Windows 3.1™” to “OS/2™”,is “PC”. And the terminal type corresponding to the Web browser OS“Windows CE™” is “PDA”.

The terminal type can be specified by referring to the Web browsertype-terminal type correspondence table 370 and the Web browserOS-terminal type correspondence table 380.

The default HTML output by default.cgi will be described with referenceto FIG. 14. FIG. 14 is a diagram showing an example of the default HTMLoutput according to the first embodiment of the present invention. InFIG. 14, the default HTML 400 is not displayed at the terminal 40, but ascript 401 that is Javascript™ calls the top page.

By a script 402 showing “self.document.cookie=”cookieOnOffchecker=on;path=/“ ”, information concerning the Web browser of the terminal 40 isobtained. By a scrip 403 showing“self.location.pathname=“/pc/admin/ja/webDefaultApl/main frame.cgi””,the terminal type “pc” is succeeded, and the Web default application 310of the Web page function 300 is executed. That is, a mainframe HTML isrequested by “mainframe.cgi”. During a series of page transitionsconducted by a user after that, an absolute path is indicated by ascript 403 to be a reference for a relative path indicated by <a href>tag.

In a case in which information is provided to the client pc 41 throughthe Internet 16, the display screed is often divided into a plurality ofdisplay areas by frames. The default output is illustrated in such acase in FIG. 14. On the other hand, in a case in that the initialdisplay screen is displayed without dividing into the plurality ofdisplay areas, for example, the script 403 describes“self.location.pathname=“/pc/admin/ja/webDefaultApl/topP age.cgi””. Thetop page is directly called to provide and display information.

In the following, a process will be described in that information isprovided corresponding to the terminal type of the terminal 40 in a caseof dividing the display screen into the plurality of display areas byframes.

After that, when the page transition is conducted, only the relativepath information 60 b is indicated but the terminal type “PC” includedin the common path information 60 a is always succeeded. That is, thesame common path information 60 a is shared and referred by theplurality of the Web applications 301.

FIG. 15 and FIG. 16 are diagrams showing a process flow by mainFrame.cgiaccording to the first embodiment of the present invention. In FIG. 15,the terminal 40 requests a mainframe HTML (mainfram HTML request) (stepS31).

“/pc/admin/ja/webDefaultApl/mainFrame.cgi” is indicated, and themainfram HTML request is conducted by a GET method attaching with formdata. The HTTP daemon 2 of the information apparatus 100 sends the HTTPconnection information 340 and the hash lists to the sequence controllibrary 110 (step S32).

In this case, by the HTTP daemon 2, “GET” is set to the request methodof the HTTP request information 350 related to the HTTP connectioninformation 340, and “/pc/admin/ja/webDefaultApl/mainFrame.cgi” is setto the request URL 354. By this indication, when a next request isreceived from the terminal 40 by the relative path after that, thecommon path information 60 a showing “/pc/admin/ja” can be referred.Accordingly, it is easily determined that the terminal type of theterminal 40 is “PC.” Also, the form data received from the terminal 40is set to the hash lists by the HTTP daemon 2.

The sequence control library 110 calls the Web application distributioncommon library 120 (step S33). In this case, the sequence controllibrary 110 sets the HTTP connection information showing informationconcerning the connection with the terminal 40 and the hash lists asarguments.

The Web application distribution common library 120 specifies and callsthe default handler 210 (“default_handler”) from the hash list 50 a asthe Web page handler 200 corresponding to the Web application ID 64indicating “webDefaultApl” based on the URL (step S34).

In the Web page handler 200, the default handler 210 obtains the pageinformation indicating “mainFrame.cgi” from the URL, and specifies andcalls the function mainFrame( ) from the hash list 50 b as the Web pagefunction 300 corresponding to “mainFrame.cgi” (step S35). In this case,the HTTP connection information is set as an argument. For example, in acase in that the Web page function 300 is developed by C language, theWeb page handler 200 converts into a process type of C language andcalls the function mainFrame( ).

By executing the function mainFrame( ), frame information to form theinitial display screen (topPage.cgi) is created (step S36). The frameinformation is sent to the default handler 210 in the web page handler200 as the process result data (step S37).

In the following, the serialization process for describing in XML insteps S38, S39, S40, S41, and S42 is the same as the serializationprocess in steps S18, S19, S20, S21, and S22 and explanation thereofwill be omitted.

In order to convert the display data described in XML into a descriptionin HTML corresponding the terminal type of the terminal 40, the Webapplication distribution common library 120 refers to the hash list 50b, obtains the style sheet “mainFrame.xsl” corresponding to the pageinformation 56 indicating “mainFrame.cgi”, and conducts the XSLconversion request with respect to the XSLT processor 205 (step S43). Inthis case, the display date “Response DOM” and the style sheet“mainFrame.xsl” are set as the arguments.

When the XSLT processor 205 receives the XSL conversion request, theXSLT processor 205 executes the style sheet “mainFrame.xsl” indicated bythe argument. Accordingly, the XSLT processor 205 selects one templatecorresponding to the terminal type from descriptions of the style sheet,analyzes a syntax of the display data “Response DOM” described in XML(parse XML), creates a DOM, additionally provides elements andattributes (step S44), and converts into the description of HTML byusing the XML library 203 (step S45). When the terminal type information63 a shows “PC”, HTML data for dividing the display screen into theplurality of display areas by frames is output. On the other hand, whenthe terminal type information 63 a shows “PDA”, HTML data described byJavaScript™ for directly calling the top page is output.

The XSLT processor 205 provides the description in HTML as the XSLconversion result to the Web application distribution common library 120(step S46). The process result described in HTML by the Web pagefunction 300 in a case in that the page information 65 shows“mainframe.cgi” is output to the Web application distribution commonlibrary 120 as the mainframe HTML. The mainfram HTML is described inHTML so that “manuPage.cgi” is called from a frame forming the menupage, “topPage.cgi” is called from a frame forming the top page, and“headerPage.cgi” is called from a frame forming the header page.

This mainframe HTML response is sequentially provided from the Webapplication distribution common library 120 to the sequence controllibrary 110 (step S47), and from the sequence control library 110 to theHTTP daemon 2 (step S48). Accordingly, the mainframe HTML response issent to the terminal 40 in response to the request of the terminal 40 instep S31 in accordance with HTTP by the HTTP daemon 2 (step S49). Then,the process flow executed by the mainFrame.cgi is terminated.

A mainframe HTML output by mainFrame.cgi in a case in that the terminal40 is the client PC 41 will be described with reference to FIG. 17. FIG.17 is a diagram showing an example of the mainframe HTML output for thePC according to the first embodiment of the present invention. In FIG.17, the mainframe HTML 410 creates three frames on the Web browser ofthe terminal 40 by a script 411, and a page from each <frame> tag iscalled through a CGI.

A script 412 showing <frame noresize src=“/webDefaultApl/headerPage.cgi”name=“header” marginheight=“0” marginwidth=“0” scrolling=“no”> displaysthe header page in a frame. By a script 413 showing“/webDefaultApl/headerPage.cgi”, the default handler 210 is executedbased on “webDefaultApl”, the function headerPage( ) of the Web defaultapplication 310 is executed based on “headerPage.cgi”, and then theheader page is displayed in the frame.

Also, a script 414 showing <frame src=“/webDefaultApl/menuPage.cgi”name=“menu”marginheight=“0” marginwidth=“0” scrolling=“auto”> displaysthe menu page in a frame. By a script 415 showing“/webDefaultApl/menuPage.cgi”, the default handler 210 is executed basedon “webDefaultApl”, the function menuPage( ) of the Web defaultapplication 310 is executed based on “menuPage.cgi”, and the menu pageis displayed in the frame.

Furthermore, a script 416 showing <framesrc=“/webDefaultApl/topPage.cgi” name=“top” marginheight=“0”marginwidth=“0” scrolling=“auto”> displays the top page in a frame. Bythe script 417 showing “/webDefaultApl/topPage.cgi”, the default handler210 is executed based on “webDefaultApl”, the function topPage( ) of theWeb default application 310 is executed based on “topPage.cgi”, and thetop page is displayed in the frame. Since the scripts 412, 414, and 416indicates only relative path information 60 b, the common pathinformation 60 a is indicated by the URL.

In FIG. 17, when the terminal 40 is the mobile phone 42 or the PDAterminal 43, the mainframe HTML may be created so as to call onlytopPage.cgi without structuring frames. For example, in the mainframeHTML, similar to the description of the default HTML output shown inFIG. 14, jumpToTopPage( ) may be described so as to directly calltopPage.cgi by “self.location.pathname=“/pda/admin/ja/webDefaultApl/topPage.cgi””, instead of describing jumpToMainFrame( ).

FIG. 18 and FIG. 19 are diagrams showing a process flow by topPage.cgiaccording to the first embodiment of the present invention. In FIG. 18,the terminal 40 requests an HTML for displaying a status of the plotter35-1 or the scanner 350-2 mounted to the information processingapparatus 100 (top page HTML request) (step S51). The top page HTMLrequest is conducted by the GET method in which “topPage.cgi” isindicated and the form data is attached.

The HTTP daemon 2 of the information processing apparatus 100 sends theHTTP connection information 340 and the hash lists to the sequencecontrol library 110 (step S52). In this case, the HTTP daemon 2 sets“GET” to the request method of the HTTP request information 350 relatedto the HTTP connection information 340, and indicates “topPage.cgi” tothe URL of the request. In addition, the HTTP daemon 2 sets the formdata received from the terminal 40 to the hash lists.

The sequence control library 110 calls the Web application distributioncommon library 120 (step S53). In this case, the sequence controllibrary 110 sets the HTTP connection information and the hash lists asarguments.

The Web application distribution common library 120 specifies and callsthe default handler 210 (“default_handler”) from the hash list 50 a asthe Web page handler 200 corresponding to the Web application ID 64showing “webDefaultApl” based on the URL (step S54).

In the Web page handler 200, the default handler 210 obtains the pageinformation 65 showing “topPage.cgi”, and specifies and calls thefunction topPage( ) from the hash list 50 b as the Web page function 300corresponding to “topPage.cgi” (step S55). In this case, the HTTPconnection information 340 is set as an argument.

For example, in a case in that the Web page function 300 is developed byC language, the Web page handler 200 converts into a process type of Clanguage and calls the function topPage( ).

By executing the function topPage( ), the Web default application 310requests information including a device name, a comment, and a like tothe network controlling part 101 through the API 17, in order to displaythe status of a device (for example, plotter 35-1 as the printer) at theinitial display screen (topPage.cgi) (step S56-2). The networkcontrolling part 101 provides the information including the device name,the comment, and the like in response to the request (step S56-4).

For example, the Web default application 310 of the Web page function300 requests the status of the printer to the printer controlling part103 through the API 17 (printer status request) (step S56-6). Theprinter controlling part 103 provides the status of the plotter 35-1 asa printer status to the Web default application 310 (step S56-8).

Then, the Web default application 310 provides the printer status, andthe terminal type information 63 a, the profile information 63 b and thelanguage information 63 c from the request URL 354 of the HTTP requestinformation 350 as the process result data to the default handler 210 inthe Web page handler 200 (step S57).

In the following, the serialization process for describing in XML insteps S58, S59, S60, S61, and S62 is the same as the serializationprocess in steps S18, S19, S20, S21, and S22, and explanation thereofwill be omitted.

In order to convert the display data described in XML into a descriptionof HTML corresponding to the terminal type of the terminal 40, the Webapplication distribution common library 120 refers to the hash list 50b, obtains the style sheet “topPage.xsl” corresponding to the pageinformation 56 showing “topPage.cgi”, and conducts the XSL conversionrequest with respect to the XSLT processor 205 (step S63). In this case,the display data “Response DOM” and the style sheet “topPage.xsl” areset as arguments. When the XSLT processor 205 receives the XSLconversion request, the XSLT processor 205 executes the style sheet“topPage.xsl” indicated in the argument. Accordingly, the XSLT processor205 selects one template corresponding to the terminal type fromdescriptions of the style sheet, analyzes a syntax of the display data“Response DOM” described in XML (parse XML), creates a DOM, additionallyprovides elements and attributes (step S64), and converts into thedescription of HTML by using the XML library 203 (step S65).

XSLT processor 205 provides the description of HTML as the XSLconversion result to the Web application distribution common library 120(step S66).

The process result described in HTML by the Web page function 300 in acase in that the page information 65 is “topPage.cgi” is output to theWeb application distribution common library 120 as a top page HTML,Information concerning the status of the plotter 35-1 is described inthe top page HTML.

This top page HTML response is provided from the Web applicationdistribution common library 120 to the sequence control library 110(step S67), and then is provided from the sequence control library 110to the HTTP daemon 2 (step S68). Subsequently, the HTTP daemon 2 sendsthe top page HTML response as a response in accordance with HTTP withrespect to the request sent from the terminal 40 in step S51 (step S69).Then, the process flow executed by topPage.cgi is terminated.

When the terminal 40 is the client PC 41, processes by headerPage.cgiand manuPage.cgi called from frames are executed in the same mannerdescribed above. Accordingly, the display screen divided by frames isdisplayed at the Web browser of the client PC 41. On the other hand,when the terminal 40 is the mobile phone 42 or the PDA terminal 43,since the display screen is not divided by the frames, only the top pageis displayed at the display screen.

The process result described in XML will be described. FIG. 20 is adiagram showing an example of the process result described in XML bytopPage.cgi according to the first embodiment of the present invention.

In an XML 420 shown in FIG. 20, the process result by the functiontopPage( ) of the Web default application 310 is shown by a script 421showing from <networkResponse> to </networkResponse>. A script 422showing <terminal>pc</terminal> shows that the terminal 40 is the clientPC 41, a script 423 showing <language>ja</language> shows that alanguage of the Web browser of the terminal 40 is Japanese, and a script424 showing <profile>admin</profile> shows that the user of the terminal40 is an administrator. The scripts 422 through 424 show informationbased on the terminal type information 63 a, the profile information 63b, and the language information 63 c of the common path information 60 aof the URL.

A script 425 showing <deviceName>Printer 1</deviceName> shows that thedevice name is “Printer 1”. A script 426 showing<comment>XXXXXXXXX</comment> shows that the comment concerning “Printer1” are “XXXXXXXXX”. A script 427 showing <status>Ready</status> showsthat the status of “Printer 1” is “Ready”.

In the first embodiment, the Web page handler 200 includes a functionfor serializing the process result data provided from the Web pagefunction 300 by describing in XML. Accordingly, each of Web applications301 of the Web page function 300 is not required to include a processingpart for each terminal type.

The style sheet 430, which converts the process result data described inXML to be serialized, into HTML by the XSLT processor 205 based on theterminal type, will be described with reference to FIG. 21. FIG. 21 is adiagram showing a description example of the style sheet for convertingthe process result from XML to HTML according to the first embodiment ofthe present invention.

In the style sheet 430 shown in FIG. 21, it is determined by a script431 whether or not an element sandwiched with <terminal> tags shown by ascript 422 of the XML 420 of FIG. 20 includes a character string “pda”,that is, it is determined whether or not the XML 420 is the processresult for the PDA terminal. A style sheet template for the PDA terminalis applied by a script 432 when the character string “pda” is included.Another style sheet template for the general PC is applied when thecharacter string “pda” is not included. The style sheet template for thePDA terminal is described in a script 434, and the style sheet templatefor the general PC is described in a script 435. Details of each stylesheet template are not shown in FIG. 21.

For example, in a case in that a smaller size of the display screen ofthe mobile phone 42 or the PDA terminal 43 is concerned, the script 434may describes the style sheet template for the PDA terminal so thatimages to display at the client PC 41 are not be displayed, a font sizeis indicated to be smaller than the PC, or the number of letters isindicated to be less than the PC.

According to the first embodiment, the Web application distributioncommon library 120 includes a function for converting XML into HTML byXSL. Therefore, it is possible to centralize to create an HTML responsecorresponding to the terminal type. Therefore, each of Web applications301 in the Web page function 300 is not required to include processingparts corresponding to various terminal types, respectively.

As described above, XSL for converting XML into HTML is prepared foreach of Web applications 301 beforehand HTML showing the process resultcorresponding each of Web applications 301 is provided to the terminal40, and then the process result is displayed at the Web browser of theterminal 40.

When the terminal 40 is the client PC 41, for example, the processresult of the function topPage( ) of the Web default application 310 isdescribed in HTML as shown in FIG. 22. FIG. 22 is a diagram showing adescription example of HTML for the PC in that the process result of thetopPage.cgi is shown, according to the first embodiment of the presentinvention. In FIG. 22, HTML 440 for the PC is provided to the terminal40 when the terminal 40 is the client PC 41, and the process result ofthe function topPage( ) of the Web default application 310 is displayedat the Web browser of the client PC 41 by a script 441.

A script 442 showing <font size=“4”>System Status</font> shows todisplay “System Status” by a font size 4. A script 443 showing <imgsrc=“printer.gif”> shows to display an image. A script 445 showing<p>System Name:Printer 1</p> shows to display “SystemName:Printer 1”, ascript 446 showing <p>Comment:XXXXXXXXX</p> shows to display“Comment:XXXXXXXXX”, and a script 447 showing <p>System Status:Ready</p>shows to display “System Status:Ready”.

In accordance with HTML 440 for the PC, the display screen as shown inFIG. 23 is displayed at the Web browser of the client PC 41. FIG. 23 isa diagram showing a display example of the system status at the clientPC according to the first embodiment of the present invention. In FIG.23, a display screen 450 is formed by three frames by mainFrame.cgi. Theheader page is displayed by headerPage.cgi, the menu page is displayedby menuPage.cgi, and the top page is displayed by topPage.cgi in threeframes, respectively.

In the top page, a text 452 showing “System Status” is displayed by thescript 442 of HTML 240 of FIG. 22, an image 454 is displayed by thescript 444 of FIG. 22, a text 455 showing “System Name:Printer 1” isdisplayed by the script 445 of FIG. 22, a text 456 showing“Comment.XXXXXXXXX” is displayed by the script 446 of FIG. 22, and atext 457 showing “System Status:Ready” is displayed by the script 447 ofFIG. 22.

In addition, for example, information as a header is displayed in theframe for displaying the header page. For example, texts 459 showingselectable menu items including “System Status”, “Network Settings”,“Device Configuration Information”, and a like are displayed in theframe for displaying the menu page.

For example, “Network Settings” is described in HTML as <p><a href=“ . .. /webNetsettingApl/netsetting.cgi” target=“top”>NetworkSettings</a></p>. Since only the relative path information 60 b is setin this URL, the common path information 60 a is succeeded as it is andinformation concerning “Network Settings” is displayed in the top pagefor the PC. That is, a path description from “webNetsettingApl” showingWeb application ID is set as the relative path, and a current terminaltype information 53 a is succeeded by a description “ . . . /”. Also,the information concerning “Network Settings” is displayed in the toppage for the PC by a description “target=“top””.

Similarly, “Device Configuration Information” is described in HTML as“<p><a href=“ . . . /webSysconfigApl/sysconfig.cgi” target=“top”>DeviceConfiguration Information</a></p>”. Accordingly, since only the relativepath information 60 b is set in this URL, the common path information 60a is succeeded as it is and information concerning “Device ConfigurationInformation” is displayed for the PC.

In a case in that the client PC 41 sends a request to the informationprocessing apparatus 100 according to the present invention, displayscreen 450 is shown at the client PC 41. However, in a case in that themobile phone 42 or the PDA terminal 43 sends the same request to theinformation processing apparatus 100, HTML for the PDA terminal as shownin FIG. 24 is created and the display screen as shown in FIG. 25 isdisplayed at the PDA terminal 43.

FIG. 24 is a diagram showing a description example of HTML for the PDAterminal where the process result of topPage.cgi is shown, according tothe first embodiment of the present invention. In FIG. 24, HTML 440 afor the PDA terminal is provided to the terminal 40 when the terminal 40is the PDA terminal 43, and then the process result of the functiontopPage( ) of the Web default application 310 is displayed at the Webbrowser of the PDA terminal 43 by a script 441 a. A script 442 a showing<font size=“3”>System status</font> shows to display “System Status” bya font size 3. The character font or a script 442 a is set smaller forthe PDA terminal.

The HTML 440 a for the PDA terminal does not include a scriptcorresponding to the script 443 of HTML 440 of the client PC 41.

Similar to the scripts 445 and 446 of HTML 440 for the PC, a script 445a showing <p>System Name:Printer 1</p> shows to display “SystemName:Printer 1”, and a script 446 a showing <p>Comment:XXXXXXXXX</p>shows to display “Comment:XXXXXXXXX”.

For the PDA terminal 43 which display area is relatively smaller thanthe client PC 41, for example, a script 447 a corresponding to thescript 447 of HTML 440 for the PC displays “Status:Ready”, instead of“System Status:Ready”, so that the number of letters to display is lessthan the PC.

It is not preferred to divide the display screen into the plurality ofdisplay areas for the PDA terminal 43. Therefore, information displayedat other frames at the client PC 41 should be displayed within a singledisplay screen (one page) at the PDA terminal 43. A script 448 a isscript described in HTML for displaying the menu page at the PC, and isdescribed in HTML 440 a for the PDA terminal as “<p><a href=” . . ./webNetsettingApl/netsetting.cgi“>Network Settings</a></p>” and “<p><ahref=” . . . /webSysconfigApl/sysconfig.cgi“>Device ConfigurationInformation</a></p>”. Therefore, “Network Settings” and “DeviceConfiguration Information” of selectable items displayed in the menupage of the client PC is displayed at the PDA terminal 43.“target==“top” is described in HTML 440 for the PC to indicate the frameto display. However, “target=“top” is omitted in the script 448 a.

A display screen as shown in FIG. 25 is displayed at the Web browser ofthe PDA terminal 43 by HTML 440 a for the PDA terminal. FIG. 25 is adiagram showing a display example of the system status at the PDAterminal according to the first embodiment of the present invention. InFIG. 25, a display screen 450 a is formed by a single display screenwhich is not divided into the plurality of display areas by frames.

A text 452 a showing “System Status” is displayed at the display screen450 a by the script 442 a of HTML 240 a shown in FIG. 24. The imagedisplayed at the client PC 41 is not displayed at the PDA terminal 43and a text 455 showing “System Name:Printer 1” is displayed by thescript 445 a. A text 456 a showing “Comment:XXXXXXXXX” is displayed bythe script 446 a. A text 457 a showing “Status:Ready”, which number ofletters is less than that displayed at the client PC 41, is displayed bythe script 447 a.

Moreover, “Network Settings” and “Device Configuration Information”,which are selectable and displayed in the menu page at the client PC 41are displayed as a text 458 showing selectable “Network Settings” and“Device Configuration Information” by the script 448 a.

In a state in that the display screen 450 a is displayed at the mobilephone 42 or the PDA terminal 43, when a user of the PDA terminal 43selects “Network Settings”, the display screen as shown in FIG. 26 isdisplayed at the mobile phone 42 or the PDA terminal 43 since the URL ischanged so that the common path information 60 a is succeeded and onlythe relative path information 60 b is shown FIG. 26 is a diagram showinga display example of “Network Settings” at the PDA terminal according tothe first embodiment of the present invention.

In FIG. 26, a display screen 460 a is displayed by a page transitionfrom the display screen 450 a, and displays a page of “Network Settings”corresponding to the size of the display screen of the mobile phone 42or the PDA terminal 43 since the common path information 60 a at thepage transition. The user of the mobile phone 42 or the PDA terminal 43is not required to conduct a setting to properly display “NetworkSettings” for the size of the display screen.

If the user conduct the page transition (link from one page to anotherpage) with respect to a conventional information processing apparatusthat cannot specify the terminal type of the terminal 40, informationfor the display screen of the client PC 41 is displayed at the mobilephone 42 or the PDA terminal 43. As a result, the information isprovided unsuitably as shown in FIG. 27. Since the terminal typeinformation 53 a is not succeeded, letters being too large to read thewhole sentence is displayed at the mobile phone 42 or the PDA terminal43. Therefore, the conventional information processing apparatus cannotprovide information suitable for the display screen.

According to the first embodiment of the present invention, sine theHTTP daemon 2 forms the URL so as to call default.cgi when the HTTPdaemon 2 receives the first request from the terminal 40, theinformation processing apparatus 100 can automatically set the URLincluding the common path information 60 a by default.cgi. Therefore,the user of the terminal 40 is not required to input informationconcerning the display screen of the terminal 40.

The common path information 60 a is provided prior to the relative pathinformation 60 b in the URL. Thus, a link from one page to another pagecan be indicated by only the relative path information 60 b.

Moreover, the information processing apparatus 100 converts thedescription in XML into the description in HTML based on the terminaltype information 53 a of the common path information 60 a by using apredetermined style sheet. Accordingly, in the information processingapparatus 100, a developer is not required to develop each of the Webapplications 301 for each of the terminal types. Therefore, it ispossible to reduce workload of the developer. That is, it is possiblefor the Web applications 301 to output the process result in a unifiedmanner. For example, a development of each of the Web applications 301is not affected by a different size of the display screen, division ofthe display screen by the frames, and a like.

According to the first embodiment of the present invention, as theterminal type, the client PC 41 is categorized into “PC”, and the mobilephone 42 and the PDA terminal 43 are categorized into “PDA”. However, inorder to categorize the display screen in detail, various terminal typesin addition to “PC” and “PDA” can be applied. Also, various categoriescan be applied to not only the size of the display screen but also tovarious characteristics of the display screen.

Also, the present invention can be applied to a case in that theinformation processing apparatus 100 is connected to a large screen asanother terminal 40. That is, as for the large screen, it is possible tochange letters to be relatively bigger, to change the number of lettersto be more, and a like in order to provide information by an effectivedisplay screen. Moreover, it is possible to provide a larger image or aplurality of images for the large screen, so as to effectively provideinformation.

In order to provide information corresponding to the terminal 40, in theinformation processing apparatus 100, the template corresponding to theterminal type in each style sheet 430 adjusts a display format of theprocess result provided from the Web page function 300 and additionallyprovides images to the process result.

As described above, according to the present invention, since theterminal type information 63 a is set in the common path information 60a when the request from the terminal 40 is received, even if the pagetransition is conducted among the plurality of the Web applications 301,the information corresponding to the same terminal type can be alwaysprovided at the Web browser of the terminal 40.

Also, a processing part for describing the process result in XML and aprocessing part for converting XML into HTML are provided separatelyfrom the plurality of Web applications 301 in the Web page function 300.

Second Embodiment

An information processing apparatus 1100 will be described according toa second embodiment of the present invention. In the second embodimentaccording to the present invention, the information processing apparatus1100 provides the information in a language suitable for a terminal anda user using a terminal connected to the information processingapparatus 1100 through the Internet.

The information processing apparatus 1100 according to the secondembodiment includes at least one of a plurality of different imageforming functions such as a printer, a FAX, and a copier, and alsoprovides information concerning the image forming functions by aplurality of Web applications. In the second embodiment, for the sake ofconvenience, a case in that information concerning a copying process anda plotter for conducting a copy will be mainly described.

A hardware configuration of the information processing apparatus 1100 isthe same as that of the information processing apparatus 100 shown inFIG. 1, and explanation of thereof will be omitted.

FIG. 28 is a block diagram showing a functional configuration of theinformation processing apparatus according to a second embodiment of thepresent invention. In FIG. 28, the information processing apparatus 1100is capable of connecting to terminals 1040 including a client PC 1041for English, a client PC 1042 for Japanese, and a client PC 1043 forChinese, which have different utilization forms of a language. Theinformation processing apparatus 1100 is a computer to provideinformation as a response with respect to a request sent from each ofthe terminals 1040.

The information processing apparatus 1100 mainly includes a networkcontrolling part 1101, a sequence control library 1110, a Webapplication distribution common library 1120, a Web page handler 1200, aSOAP (Simple Object Access Protocol) library 1201, an XML (extensibleMarkup Language) library 1203, an XSLT (XSL Transformations) processor1205, a Web page function (WPF) 1300, a printer controlling part 1103,and a scanner controlling part 1105.

The network controlling part 1101 includes at least an HTTP daemon 1002for conducting a communication control in accordance with an HTTP (HyperText Transfer Protocol). The network controlling part 1101 receives therequest from each terminal 1040 and provides information as a responsewith respect to the request.

In order to execute a predetermined process so as to succeed toattribute information showing attributes concerning a utilization formof a Web browser of the terminal 1040 while a user conducts pagetransitions (browse one Web page linked from another Web page) among aplurality of Web applications 1301, when the HTTP daemon 1002 receivesthe request from the terminal 1040, and additionally provides atemporary common path information, and a Web application ID and a CGI(Common Gateway Interface) which are referred to execute thepredetermined process, to the URL indicated by the request. Similar tothe first embodiment, the HTTP daemon 1002 adds necessary informationand creates the URL formed by the common path information 60 a and therelative path information 60 b as shown in FIG. 3. The HTTP daemon 1002additionally provides predetermined“/TERMINAL/PROFILE/LANG/webDefaultApl/default.cgi” to the URL.

The sequence control library 1110 is a processing part that is sharedwith the plurality of Web applications 1301 and handles by apredetermined sequence controlling process a difference between aprocess sequence of sending and receiving data through the Internet 1016and another process sequence of sending and receiving data to/from eachof the Web applications 1301.

The Web application distribution common library 1120 is a processingpart that is shared with the plurality of Web applications 1301, andthat analyzes a request from the terminal 1040 and generates a responsefor the terminal 1040. The Web application distribution common library1120 converts the response described in XML by the Web page handler 1200into the response described in a display format by HTML (HyperTextMarkup Language) corresponding to a Web browser language displayed ateach terminal 1040 by using the XSLT processor 1205.

The Web page handler 1200 is a processing part that converts a processlanguage understandable for the Web applications 1301 into anotherprocess language understandable in the communication control conductedwith the terminal 1040 for the request and the response. The Web pagehandler 1200 calls one Web application 1301 corresponding to the requestvia a CGI indicated by the request. Also, the Web page handler 1200sends a serialization request to the SOAP library 1201 to serializeprocess result data provided from the Web page function 1300.

The SOAP library 1201 converts the process result data given byvariables of C language into a description in XML so as to serialize theprocess result. In the second embodiment, serialization means todescribe the process result provided from the Web page function 1300 inXML.

The XML library 1203 is used by the SOAP library 1201 to serialize theprocess result by describing in XML. Also, the XML library 1203 is usedby the XSLT processor 1205 to generate the process result described inHTML.

The XSLT processor 1205 converts the process result described in XMLinto HTML by using the XML library 1203 based on a style sheet 1430described in XSL (extensible Stylesheet Language) corresponding to theWeb application 1301 indicated by the request from the terminal 1040.The style sheet 1430 is prepared beforehand by corresponding to each Webapplication 1301.

A language resource DS 1121 stores each language resource showing acorrespondence between the process result from each Web application 1301and a description in each of languages available by the informationprocessing apparatus 1100. That is, by using the language resource DB1121, one process result can be described in a plurality of languages.And an available language list 1122 shows a list of languages in whichthe information processing apparatus 1100 can provide information.

When the Web page function 1300 is called from the Web page handler1200, for example, inquires the printer controlling part 1103 or thescanner controlling part 1105 mounted to the information processingapparatus 1100 through an API (Application Program Interface) 1017,obtains information showing a status of a plotter 35-1 or a scanner 35-2(shown in FIG. 1), and then provides the information to the Web pagehandler 1200. Moreover, the Web page function 1300 inquires the networkcontrolling part 1101 through the API 1017, obtains information from thenetwork controlling part 1101, and provides the information to the Webpage handler 1200.

Next, a detailed configuration for executing the Web applications willbe described with reference to FIG. 29, FIG. 30A and FIG. 30B. FIG. 29is a block diagram for explaining an execution of the Web applicationsaccording to the second embodiment of the present invention. FIG. 30Aand FIG. 30B are diagrams showing hash lists according to the secondembodiment of the present invention. In FIG. 29, for example, in orderto provide information based on the configuration of the URL as shown inFIG. 3, the Web page handler 1200 includes a default handler 1210executed at a first request from the terminal 1040, a system statusproviding handler 1220 executed by the page transition in accordancewith the instruction from the terminal 1040, a system configurationinformation providing handler 1230 similarly executed by pagetransition, and a like.

Corresponding to the handlers in the Web page handler 1200,respectively, the Web page function 1300 includes the plurality of Webapplications 1301: a Web default application 1310, a Web system statusproviding application 1320, a Web system configuration informationproviding application 1330, and a like.

Until an initial display screen is displayed at the terminal 1040, thedefault handler 1210 sequentially calls the Web default application 1310through “default.cgi”, and then “netsetting.cgi” indicated by the pageinformation 65 in accordance with the format of the URL shown in FIG. 3.As a result, for example, network settings of the device such theplotter 35-1 or the scanner 35-2 (shown in FIG. 1) mounted in theinformation processing apparatus 1100 are displayed at the terminal1040.

The system status providing handler 1220 calls a function for the Websystem status providing application 1320 for providing informationconcerning the device mounted in the information processing apparatus1100. In addition, the system configuration information providinghandler 1230 calls the Web system configuration information providingapplication 1330 so as to obtain a system configuration information ofthe information processing apparatus 1100 in response to a request fromthe terminal 1040.

The Web application distribution common library 1120 obtains the Webapplication ID 64 from a URL, and refers to a hash list 1050 a shown inFIG. 30A. When the Web application ID 64 shows “webDefaultApl”, the Webapplication distribution common library 1120 executes “default_handler”.In the same manner, when the Web application ID 64 shows another Webapplication ID, the Web application distribution common library 1120refers to the hash list 1050 a, and executes a handler corresponding tothe Web application ID to be executed.

In addition, each of the handlers 1210, 1220, and 1230 in the Web pagehandler 1200 obtains the page information 65 from the URL, refers to thehash list 1050 b shown in FIG. 30B, and calls a function correspondingto the page information 65. For example, when the page information 65shows “default.cgi”, “default( )” is obtained to call as a function.Similarly, when the page information 65 shows another CGI, each of thehandlers 1210, 1220, and 1230 refers to hash list 1050 b and obtains afunction to call.

Moreover, in order to conduct the XSL conversion request which convertsthe process result described by XML to the XSLT processor 1205 intoHTML, the Web application distribution common library 1120 obtains thepage information 65 from the URL specified as a Web page function ID,and obtains a corresponding style sheet 1430 by referring to the hashlist 1050 b shown in FIG. 30B. For example, when the page information 65shows “netsetting.cgi”, the Web application distribution common library1120 obtains “netsetting.xsl” as a style sheet necessary for the XSLconversion from the hash list 1050 b. Similarly, when the pageinformation 65 is another CGI, the Web application distribution commonlibrary 1120 obtains a style sheet necessary for the XSL conversion byreferring to the hash list 1050 b.

In FIG. 29, FIG. 30A, and FIG. 30B, when the page information 65, as theWeb page function ID, of the URL is “default.cgi”, the function default() is executed, and the Web browser language displayed at the terminal1040 is determined. Accordingly, the language information of the URLwhich is temporarily created by the HTTP daemon 1002 is replaced withthe determined language and the initial display screen where the URLshowing the determined language is set is created.

When the page information 65 is “netsetting.cgi”, a function netsetting() is executed. For example, the information is generated so as to createa network setting page displaying network settings for a printer as theplotter 35-1.

Moreover, when the page information 65 is “sysstatus.cgi”, a functionsysstatus( ) is executed so as to generate the information for creatinga page displaying a status of the printer as a status of the plotter35-1. When the page information 65 is “sysconfig.cgi”, a functionsysconfig( ) is executed, information showing a system configuration isgenerated.

For the sake of convenience, names of the Web application ID and the Webpage handler are unified. But it is not limited to do so since the hashlist 1050 a corresponds the Web application ID to the Web page handler.Also, names of the Web page function ID, the function, the style sheetare unified in the same manner. But it is not limited to do so since thehash list 1050 b corresponds the Web page function ID, the function, andthe style sheet each other.

Next, a process flow until information is provided with respect to thefirst request from the terminal 1040 will be described. FIG. 31 and FIG.32 are diagrams showing the process flow for default.cgi according tothe second embodiment of the present invention.

In FIG. 31, the terminal 1040 sends a request additionally providingaccept language information by using a GET method of the HTTP (stepS111). For example, the terminal 1040 sends the request by indicating aURL “http://AAA”.

When the information processing apparatus 1100 receives this request,the HTTP daemon 1002 of the information processing apparatus 1100additionally provides the terminal type information 63 a, the profileinformation 63 b, the language information 63 c, the Web application ID64, the page information 65 to the URL “http://AAA”, and then sends thisrequest to the sequence control library 1110 (step S112). For example,the HTTP daemon 1002 additionally provides “TERMINAL” as the terminaltype information 63 a, “PROFILE” as the profile information 63 b, “LANG”as the language information 63 c, “webDefaultApl” as the Web applicationID 64, and “default.cgi” as the page information 65, to the URL“http://AAA”, so as to form“http://AAA/TERMINAL/PROFILE/LANG/webDefaultApl/default.cgi”.

The sequence control library 1110 calls the Web application distributioncommon library 1120 (step S113). When calling the Web applicationdistribution common library 1120, the sequence control library 1110 setsthe HTTP connection information showing information concerning aconnection with the terminal 1040, and the hash lists 1050 a and 1050 bas arguments. In the following, the hash lists 1050 a and 1050 b aregenerically called hash lists. That is, the hash lists include the hashlists 150 a and 150 b and other hash lists. The HTTP connectioninformation uniquely specifies the connection with the terminal 1040until the connection is disconnected.

The Web application distribution common library 1120 specifies and callsthe default handler 1210 (“default_handler”) from the hash list 1050 a,as the Web page handler 1200 corresponding to the Web application ID 64showing “webDefaultApl” based on the URL generated by the HTTP daemon1002 (step S114).

In the Web page handler 1200, the default handler 1210 obtains the pageinformation 65 showing “default.cgi” from the URL, and specifies andcalls the function default( ) from the hash list 1050 b as the Web pagefunction 1300 corresponding to “default.cgi” (step S115). In this case,the HTTP connection information is set as the argument. For example, ina case in that the Web page function 1300 is developed by C language,the Web page handler 1200 converts into a process type of C language andthen calls the function default( ).

By executing the function default( ), based on the HTTP connectioninformation, language information is analyzed and a URL calling theinitial display screen is created by including the common pathinformation 60 a determined by the function default( ) (step S116). Aprocess result data including the URL is returned to the default handler1210 in the Web page handler 1200 (step S117). In a process bydefault.cgi, the common path information 60 a is determined, and a URLis determined by the common path information 60 a and the relative pathinformation 60 b for determining a frame configuration of the initialdisplay screen. For example, “/pc/user/en” is determined as the commonpath information 60 a and “/webDefaultApl/netsetting.cgi” for thenetwork setting page as the initial display screen is determined as therelative path information 60 b.

The default handler 1210 sends a serialization request to the SOAPlibrary 1201 in order to describe the process result data in XML (StepS118). For example, the SOAP library 1201 creates a DOM (Document ObjectModel) based on the process result data shown by a C language structure,additionally provides necessary elements and attributes (step S119), anddescribes the process result data in XML by the XML library 1203 (stepS120). The process result data described in XML is provided to thedefault handler 1210 as the serialization result by the SOAP library1201 (step S121). In the Web page handler 1200, the default handler 1210provides the serialization result as display data “Response DOM” todisplay at the terminal 1040, to the Web application distribution commonlibrary 1120 (step S122).

In order to convert the display data described in XML into a descriptionof HTML corresponding to the Web browser language displayed at theterminal 1040, the Web application distribution common library 1120refers to the hash list 1050 b, obtains the style sheet “default.xsl”corresponding to the page information 65 showing “default.cgi”, andsends the XSL conversion request to the XSLT processor 1205 (step S123).The display data “Response DOM” and the style sheet “default.xsl” areset as arguments for the XSL conversion request.

When the XSLT processor 1205 receives the XSL conversion request, theXSLT processor 1205 executes the style sheet “default.xsl” indicated bythe argument. Accordingly, the XSLT processor 1205 analyzes syntax ofthe display data “Response DOM” described in XML (parse XML, creates aDOM, additionally provides elements and attributes (step S124), andconverts into the description of HTML by using the XML library 1203(step S125). The XSLT processor 1205 provides the description of HTML tothe Web application distribution common library 1120 as a XSL conversionresult (step S126).

The process result described in HTML by the Web page function 1300 whenthe page information 65 shows “default.cgi” is output as a default HTMLto the Web application distribution common library 1120. In the defaultHTML, “netsetting.cgi” is described in HTML to be called. The defaultHTML is output as a default HTML response.

The default HTML response is sequentially provided from the Webapplication distribution common library 1120 to the sequence controllibrary 1110 (step S127) and is provided from the sequence controllibrary 1110 to the HTTP daemon 1002 (step S128). After that, thedefault HTML response is sent as a response with respect to the requestof the terminal 1040 in step S111 by the HTTP daemon 1002 (step S129).Then, the process flow for executing the Web default application 1310 bythe default.cgi is terminated.

In step S117, the common path information 60 a is determined and simplythe common path information 60 a is added to the relative pathinformation 60 b. Accordingly, the Web default application 1310 maydescribe the process result in HTML and output the process resultdescribed in HTML. Thus, steps S118 through S126 may be omitted.

Next, an analyzing process for the language information executed by thefunction default( ) in step S116 shown in FIG. 31 will be described withreference to FIG. 33 and FIG. 34 in detail. FIG. 33 is a flowchartdiagram for explaining the analyzing process for the languageinformation according to the second embodiment of the present invention.FIG. 34 is a diagram showing a header information list according to thesecond embodiment of the present invention.

Similar to the first embodiment, the data structures shown in FIG. 9through FIG. 10 and FIG. 34 are referred by the analyzing process forthe language information shown in FIG. 33. Hereinafter, the HTTPconnection information 340, the script 346 describing “HTTP_REQUEST_INFO*request”, and the script 347 describing “HTTP_RESPONSE_INFO *response”in FIG. 9 will be referred as the HTTP connection information 1340, thescript 1346, and the script 1347 in the second embodiment. Also, theHTTP request information 350, the remote address 351, the local address352, the request method 353, the request URL 354, the HTTP version 355,and the encoded information list 357 in FIG. 10 will be referred as theHTTP request information 1350, the remote address 1351, the localaddress 1352, the request method 1353, the request URL 1354, the HTTPversion 1355, and the encoded information list 1357.

In the request URL 1354, the URL formed by the common path information60 a and the relative path information 60 b as shown in FIG. 3 is set bythe sequence control library 1110. The HTTP request information 1350 isprovided to the Web page handler 1200 and to the Web page function 1300at the same time of the HTTP connection information 1340. Accordingly,the Web page handler 1200 and the Web applications 1301 share and referto the common path information 60 a.

And for example, the header information list 1360 is structured as shownin FIG. 34. As shown in FIG. 34, the header information list 1360includes accept language information 1365 showing“accept-Language:en-us; ja; q=0.9; ge; q=0.7; it; q=0.6; sp; q=0.4;pt;q=0.3”. The accept language information 1365 indicates the Webbrowser language displayed at the terminal 1040 with priority. Thus,this script of the accept language information 1365 is analyzed, so asto provide information corresponding to the Web browser languagedisplayed at the terminal 1040. In the accept language information 1365,“en-us” indicates US English, “ja” indicates Japanese, “ge” indicatesGerman, “it” indicates Italian, “sp” indicates Spanish, and “pt”indicates Portuguese.

In FIG. 33, in response to a call of the function( ), the Web defaultapplication 1310 obtains the HTTP request information 1350 from the HTTPconnection information 1340 (step S101). Moreover, the Web defaultapplication 1310 obtains the accept language information 1365 from theHTTP request information 1350 (step S102).

Then, the Web default application 1310 obtains the Web browser languagefrom the accept language information 1365 (step S103). Based on theaccept language information 1365, languages listed in the acceptlanguage information 1365 can be ordered as shown in FIG. 35A. That is,as the Web browser language, English is a first language requested fromthe terminal 1004, Japanese is a second language, German is a thirdlanguage, Italian is a fourth language, Spanish is a fifth language,Portuguese is a sixth language.

Subsequently, the Web default application 1310 obtains availablelanguages to provide for a Web browser of the terminal 1004 (step S104).For example, the available languages are listed with priority in theavailable language list 1122 in FIG. 35B. That is, the informationprocessing apparatus 1100 can provide information in Japanese with afirst priority, English with a second priority, German with a thirdpriority, . . . .

The Web default application 1310 determines whether or not the languagerequest by the user of the terminal 1004 is the available language toprovide (step S105). When the language request by the user of theterminal 1004 is not the available language, the Web default application1310 obtains an operation panel language that is stored in apredetermined storage area 1123 as shown in FIG. 35C and used to displayinformation at the operation panel 36 in FIG. 1. The Web defaultapplication 1310 sets the operation panel language as the languageinformation 63C in the common path information 60 a (step S107), andthen terminates the analyzing process for the language information.

On the other hand, in step S105, when the language request by the userof the terminal 1004 is the available language, the Web defaultapplication 1310 sets the language with higher priority included in boththe accept language information 1365 and the available language list1122 (step 3108), and then terminates the analyzing process for thelanguage information.

The default HTML output by default.cgi will be described with referenceto FIG. 36. FIG. 36 is a diagram showing an example of the default HTMLoutput according to the second embodiment of the present invention. InFIG. 36, the default HTML 1400 is not displayed at the terminal 1040,but a script 1401 that is Javascript™ calls the network setting page.

By a script 1402 showing “self.document.cookie=“cookieOnOffchecker=on;path=/””, information concerning the Web browser of the terminal 1040 isobtained. By a scrip 1403 showing“self.location.pathname=“/pc/user/en/webDefaultApl/netsetting.cgi””, thelanguage information “en” is succeeded, and the Web default application1310 of the Web page function 1300 is executed. That is, a networksetting HTML is requested. During a series of page transitions conductedby a user after that, an absolute path is indicated by a script 1403 asa reference for a relative path indicated by <a href> tag.

FIG. 37 and FIG. 38 are diagrams showing a process flow bynetsetting.cgi according to the second embodiment of the presentinvention. In FIG. 37, the terminal 1040 requests an HTML for displayingthe network settings of the plotter 35-1 or the scanner 35-2 mounted tothe information processing apparatus 1100 (network setting HTML request)(step S151). The network setting HTML request is conducted by the GETmethod in which “network setting.cgi” is indicated and the form data isattached.

The HTTP daemon 1002 of the information processing apparatus 1100 sendsthe HTTP connection information 1340 and the hash lists to the sequencecontrol library 1110 (step S152). In this case, the HTTP daemon 1002sets “GET” to the request method of the HTTP request information 1350related to the HTTP connection information 1340, and indicates“netsetting.cgi” to the URL of the request. In addition, the HTTP daemon1002 sets the form data received from the terminal 1040 to the hashlists.

The sequence control library 1110 calls the Web application distributioncommon library 1120 (step S153). In this case, the sequence controllibrary 1110 sets the HTTP connection information and the hash lists asarguments.

The Web application distribution common library 1120 specifies and callsthe default handler 1210 (“default_handler”) from the hash list 1050 aas the Web page handler 1200 corresponding to the Web application ID 64showing “webDefaultApl” based on the URL (step S154).

In the Web page handler 1200, the default handler 1210 obtains the pageinformation 65 showing “netsetting.cgi”, and specifies and calls thefunction netsetting( ) from the hash list 50 b as the Web page function300 corresponding to “netsetting.cgi” (step S155). In this case, theHTTP connection information 1340 is set as an argument.

For example, in a case in that the Web page function 1300 is developedby C language, the Web page handler 1200 converts into a process type ofC language and calls the function netsetting( ).

By executing the function netsetting( ), the Web default application1310 requests information including a device name, a comment, and a liketo the network controlling part 1101 through the API 1017, in order todisplay the status of a device (for example, plotter 35-1 as theprinter) at the initial display screen (netsetting.cgi) (step S156-2).The network controlling part 1101 provides the information including thedevice name, the comment, and the like in response to the request (stepS156-4).

For example, the Web default application 1310 of the Web page function1300 requests the status of the printer to the printer controlling part1103 through the API 1017 (printer status request) (step S156-6). Theprinter controlling part 1103 provides the status of the plotter 35-1 asa printer status to the Web default application 1310 (step S156-8).

Then, the Web default application 1310 provides the printer status, andthe terminal type information 63 a, the profile information 63 b and thelanguage information 63 c from the request URL 1354 of the HTTP requestinformation 1350 as the process result data to the default handler 1210in the Web page handler 1200 (step S157).

In the following, the serialization process for describing in XML insteps S158, S159, S160, S161, and S162 is the same as the serializationprocess in steps S118, S119, S120, S121, and S122, and explanationthereof will be omitted.

In order to convert the display data described in XML into a descriptionof HTML corresponding to the language displayed at the Web browser ofthe terminal 1040, the Web application distribution common library 1120refers to the hash list 1050 b, obtains the style sheet “netsetting.xsl”corresponding to the page information 56 showing “netsetting.cgi”, andconducts the XSL conversion request with respect to the XSLT processor1205 (step S163). In this case, the display data “Response DOM” and thestyle sheet “netsetting.xsl” are set as arguments. When the XSLTprocessor 1205 receives the XSL conversion request, the XSLT processor1205 executes the style sheet “netsetting.xsl” indicated in theargument. Accordingly, the XSLT processor 1205 selects one templatecorresponding to the language from descriptions of the style sheet,analyzes a syntax of the display data “Response DOM” described in XML(parse XML), creates a DOM, additionally provides elements andattributes (step S164), and converts into the description of HTML byusing the XML library 1203 (step S165). The language resource DB 1121 isreferred by the XSLT processor 1205 to describe the process result inthe language displayed at the browser of the terminal 1004.

XSLT processor 1205 provides the description of HTML as the XSLconversion result to the Web application distribution common library1120 (step S166).

The process result described in HTML by the Web page function 1300 in acase in that the page information 65 is “netsetting.cgi” is output tothe Web application distribution common library 1120 as a networksetting HTML. Information concerning the network settings of the plotter35-1 is described in the network setting HTML.

This network setting HTML response is provided from the Web applicationdistribution common library 1120 to the sequence control library 1110(step S167), and then is provided from the sequence control library 1110to the HTTP daemon 1002 (step S168). Subsequently, the HTTP daemon 1002sends the network setting HTML response as a response in accordance withHTTP with respect to the request sent from the terminal 1040 in stepS151 (step S169). Then, the process flow executed by netsetting.cgi isterminated.

As describe above, when the terminal 1040 is the client PC 1041 forEnglish, the network setting HTML is displayed in English at the browserof the client PC 1041. When the terminal 1040 is the client PC 1042 forJapanese, the network setting HTML is displayed in Japanese at thebrowser of the client PC 1042. In this case in that the terminal 1040 isthe client PC 1043 for Chinese, Chinese is not shown in the availablelanguage list 1122. Thus, by steps S106 and S107 of FIG. 33, theoperation panel language (English) is set as the language information 53c in the common path 60 a for the client PC 1043. Accordingly, thenetwork setting HTML is displayed in English at the browser of theclient PC 1043.

The process result described in XML will be described. FIG. 39 is adiagram showing an example of the process result described in XML bynetsetting.cgi according to the second embodiment of the presentinvention.

In an XML 1500 shown in FIG. 39, the process result by the functionnetsetting( ) of the Web default application 1310 is shown by a script1501 showing from <networkResponse> to </networkResponse>. A script 1502showing <terminal>pc</terminal> shows that the terminal 1040 is apersonal computer, a script 1503 showing <language>en</language> showsthat a language displayed at the Web browser of the terminal 1040 isEnglish, and a script 1504 showing <profile>user</profile> shows thatthe user of the terminal 1040 is a regular user. The scripts 1502through 1504 show information based on the terminal type information 63a, the profile information 63 b, and the language information 63 c ofthe common path information 60 a of the URL.

A script 1505 showing <returnVaule>SUCCESS</deviceName> shows that thenetwork settings are successfully conducted. A script 1506 showing<ipAddress>999.999.999.999</ipAddress> shows that the IP address of thedevice (for example, the plotter 35-1) is “999.999.999.999”. A script1507 showing <subnetMask>255.255.255.0</subnetMask> shows that thesubnet mask is “255.255.255.0”. A script 1508 showing <hostName>Printer1</hostname> shows that the name of the device is “Printer 1”.

In the second embodiment, the Web page handler 1200 includes a functionfor serializing the process result data provided from the Web pagefunction 1300 by describing in XML. Accordingly, each of Webapplications 1301 of the Web page function 1300 is not required toinclude a processing part for describing the process result in eachlanguage.

A language resource, which is managed in the language resource DB 1121and used to convert the process result described in XML into adescription in HTML capable of showing the process result in English,will be described with reference to FIG. 40. FIG. 40 is a diagramshowing an example of the language resource according to the secondinvention of the present invention.

A script 1591 showing <110 n xml:lang=‘en’> shows English by a parameter“lang” indicating “en”. That is, the language resource 1590 is used forEnglish. Scripts 1592 through 1595 are referred to correspond theprocess result to descriptions in English. In script 1592, “NETSETTING”indicated by a parameter “key” corresponds to “Network Settings”indicated by a parameter “text”. In script 1593, “IP_HOSTNAME” indicatedby the parameter “key” corresponds to “Host Name” indicated by theparameter “text”. In script 1594, “IP_ADDRESS” indicated by theparameter “key” corresponds to “IP Address” indicated by the parameter“text”. In script 1595, “IP_SUBNET” indicated by the parameter “key”corresponds to “Subnet Mask” indicated by the parameter “text”.

The style sheet 1430 for converting the process result formnetsetting.cgi described in XML into HTML based on the language resource1590 will be described with reference to FIG. 41 through FIG. 43. FIG.41 through FIG. 43 are diagrams showing a description example of thestyle sheet for converting the process result from XML to HTML accordingto the second embodiment of the present invention.

In the style sheet 1430 shown in FIG. 41, for example, a script 1433selects the language resource 1590 and the language resource 1590 isreferred to convert XML into HTML. In this case, the language resource1590 is indicated as an argument SlangTable of a function document( ).

A script 1435 showing <xsl:output method=“html” encoding=“UTF-8”/>indicates to describe the process result in HTML. Moreover, a structureof the HTML is defined by scripts 1417 and 1418. In this case, thescript 1437 indicates a language as an attribute, and the script 1438applies the template to describe a body of the HTML.

Furthermore, the style sheet 1430 is partially shown in FIG. 42 and FIG.43 to generate the body of the HTML. A script 1441 showing <xsl:templatematch=“networkResponse”> indicates “networkResponse” by a parameter“match”, that is, the script 1441 indicates a template fornetsetting.cgi. And the language resource 1590 in FIG. 40 is referredand then “NETSETTING” corresponds to the “Network Settings” as a titleof the Web page by a script 1443. Similar to the script 1443,“IP_HOSTNAME” corresponds to “Host Name”, “IP_ADDRESS” corresponds to“IP Address”, and a like.

A template named as “staticValue” is described from a script 1451 to ascript 1460, and is used in the script 1445 of FIG. 42. Another templatenamed as “sf.StringHndler” is described from a script 1471 to a script1480, and is used in the script 1443 of FIG. 42.

As described above, the XSLT processor 1205 converts the process resultdescribed in XML into HTML based on the style sheet 1430 and thelanguage resource 1590. Therefore, a creation of the network settingHTML for each language can be centralized in the XSLT processor 1205.Therefore, each of the Web applications 1301 in the Web page function1300 is not required to have a function for creating a description inHTML for each language.

By preparing the style sheet 1430 for each of the Web applications 1301beforehand, the process result can be properly described in a suitablelanguage for the Web browser of the terminal 1040.

The network setting HTML showing the process result by netsetting.cgi isdescribed as shown in FIG. 44. FIG. 44 is a diagram showing an exampleof the network setting HTML in English showing the process result ofnetsetting.cgi, according to the second embodiment of the presentinvention. In a network setting HTML 1570 shown in FIG. 44, a script1571 showing <meta http-equiv=“Content-Language” content=“en”> showsthat the process result is provided in English. Scripts 1573 and 1575are created based on the style sheet 1430 to display in English at thebrowser of the terminal 1040. The script 1575 is to link to one of otherWeb pages.

By the script 1575, the network setting HTML can be linked to either oneof two Web pages: “Browse system Status” page and “Browse SystemConfigurations” By a script 1576 showing <a href=“ . . ./webSysstatusApl/sysstatus.cgi”>, “webSysstatusApl” as the Webapplication information 64 and “sysstatus.cgi” as the page information65 are set as the relative path. When the “Browse System Status” page isselected by the user of the terminal 1040, the “Browse System Status”page is displayed at the terminal 1040 while a current languageinformation 63 c is succeeded to by “ . . . /”. In the same manner, By ascript 1577 showing <a href=“ . . . /webSysconfigApl/sysconfig.cgi”>,“webSysconfigApl” as the Web application information 64 and“sysconfig.cgi” as the page information 65 are set as the relative path.When the “Browse System Configurations” page is selected by the user ofthe terminal 1040, the “Browse System Configurations” page is displayedat the terminal 1040 while a current language information 63 c issucceeded to by “ . . . /”.

The network setting page is displayed in English as shown in FIG. 45 bythe network setting HTML in FIG. 44. FIG. 45 is a diagram showing thenetwork setting page displayed in English according to the secondembodiment of the present invention. In a network setting page 1580shown in FIG. 45, an English display 1583 and an English selectabledisplay 1585 are displayed at the terminal 1040 when the terminal 1040is the client PC 1041 for English. The English display 1583 is displayedbased on the script 1573 in FIG. 44. The English selectable display 1585is displayed based on the script 1575 in FIG. 44.

When the user of the client PC 1041 clicks “Browse system status” fromthe English selectable display 1585, another Web page is displayed inEnglish at the browser of the client PC 1041 for English as shown inFIG. 46.

FIG. 46 is a diagram showing another Web page linked from the networksetting page in FIG. 45 according to the second embodiment of thepresent invention. In FIG. 46, a system status page 1590 correspondingto “Browse system status” in the English selectable display 1585 of FIG.45 is displayed in English at the client PC 1041. When the user of theclient PC 1041 selects “Japanese” from a language list 1595 and clicks aGO button 1596, a system status HTML showing the process result fromsysstatus.cgi is created in the information processing apparatus 1100 asshown in FIG. 47.

FIG. 47 is a diagram showing an example of the system status HTML inJapanese showing the process result of sysstatus.cgi, according to thesecond embodiment of the present invention. In a system status HTML 1670shown in FIG. 47, a script 1671 showing <metahttp-equiv=“Content-Language” content=“ja”> shows that the processresult is provided in Japanese. A script 1673 is created based on astyle sheet other than the style sheet 1430 to display informationconcerning the process result in Japanese at the browser of the terminal1041 for English. A script 1674 is created based on the same style sheetfor the script 1673 to display a selectable list for selecting onelanguage in Japanese. A script 1675 is to link to one of other Webpages.

Based on the system status HTML 1670, the system status page 1590 inEnglish is changed to display in Japanese as shown in FIG. 48. FIG. 48is a diagram showing an example of a system status page in Japaneseaccording to the second embodiment of the present invention. In FIG. 48,a system status page 1690 is displayed in Japanese after the userselects “Japanese” at the system status page 1590 in FIG. 46, and thenthe process result of sysstatus.cgi is displayed in Japanese. In a casein which the user selects one Web page from a selectable display 1697,“Japanese” is succeeded as the language information 53 c in the commonpath information 60.

Accordingly to the second embodiment of the present invention, sine theHTTP daemon 1002 forms the URL so as to call default.cgi when the HTTPdaemon 1002 receives the first request from the terminal 1040, theinformation processing apparatus 1100 can automatically set the URLincluding the common path information 60 a by default.cgi. Therefore,the user of the terminal 1040 is not required to input informationconcerning the language displayed at the browser of the terminal 1040.

The common path information 60 a is provided prior to the relative pathinformation 60 b in the URL. Thus, a link from one page to another pagecan be indicated by only the relative path information 60 b.

Moreover, the information processing apparatus 1100 converts thedescription in XML into the description in HTML based on the languageinformation 53 c of the common path information 60 a by using apredetermined style sheet. Accordingly, in the information processingapparatus 1100, a developer is not required to develop each of the Webapplications 1301 for each of the languages. Therefore, it is possibleto reduce workload of the developer. That is, it is possible for the Webapplications 1301 to output the process result in a unified manner. Forexample, a development of each of the Web applications 1301 is notaffected by the plurality of languages.

As described above, according to the present invention, since thelanguage information 63 c is set in the common path information 60 awhen the request from the terminal 1040 is received, even if the pagetransition is conducted among the plurality of the Web applications1301, the information corresponding to the same language can be alwaysprovided at the Web browser of the terminal 1040.

Also, a processing part for describing the process result in XML and aprocessing part for converting XML into HTML are provided separatelyfrom the plurality of Web applications 1301 in the Web page function1300.

Third Embodiment

An information processing apparatus 2100 will be described according toa third embodiment of the present invention. In the third embodimentaccording to the present invention, the information processing apparatus2100 provides the process result suitable for a profile of the userconnected to the information processing apparatus 2100 through theInternet.

The information processing apparatus 2100 according to the thirdembodiment includes at least one of a plurality of different imageforming functions such as a printer, a FAX, and a copier, and alsoprovides information concerning the image forming functions by aplurality of Web applications. In the third embodiment, for the sake ofconvenience, a case in that information concerning a copying process anda plotter for conducting a copy will be mainly described.

A hardware configuration of the information processing apparatus 2100 isthe same as that of the information processing apparatus 100 shown inFIG. 1, and explanation of thereof will be omitted.

FIG. 49 is a block diagram showing a functional configuration of theinformation processing apparatus according to the third embodiment ofthe present invention. In FIG. 49, the information processing apparatus2100 is capable of connecting to terminals 2040 including a client PC2041 used by a regular user, a client PC 2042 used by a systemadministrator, and a client PC 2043 used by another regular user, whichrequire to display information corresponding to a profile. Theinformation processing apparatus 2100 is a computer to provideinformation as a response with respect to a request sent from each ofthe terminals 2040.

The information processing apparatus 2100 mainly includes a networkcontrolling part 2101, a sequence control library 2110, a Webapplication distribution common library 2120, a Web page handler 2200, aSOAP (Simple Object Access Protocol) library 2201, an XML (extensibleMarkup Language) library 2203, an XSLT (XSL Transformations) processor2205, a Web page function (WPF) 2300, a printer controlling part 2103,and a scanner controlling part 2105.

The network controlling part 2101 includes at least an HTTP daemon 2002for conducting a communication control in accordance with an HTTP (HyperText Transfer Protocol). The network controlling part 2101 receives therequest from each terminal 2040 and provides information as a responsewith respect to the request.

In order to execute a predetermined process so as to succeed toattribute information showing attributes concerning a utilization formof a Web browser of the terminal 2040 while a user conducts pagetransitions (browse one Web page linked from another Web page) among aplurality of Web applications 2301, when the HTTP daemon 2002 receivesthe request from the terminal 2040, and additionally provides atemporary common path information, and a Web application ID and a CGI(Common Gateway Interface) which are referred to execute thepredetermined process, to the URL indicated by the request. Similar tothe first embodiment, the HTTP daemon 2002 adds necessary informationand creates the URL formed by the common path information 60 a and therelative path information 60 b as shown in FIG. 3. The HTTP daemon 2002additionally provides predetermined“/TERMINAL/PROFILE/LANG/webDefaultApl/default.cgi” to the URL.

The sequence control library 2110 is a processing part that is sharedwith the plurality of Web applications 2301 and handles by apredetermined sequence controlling process a difference between aprocess sequence of sending and receiving data through the Internet 2016and another process sequence of sending and receiving data to/from eachof the Web applications 2301.

The Web application distribution common library 2120 is a processingpart that is shared with the plurality of Web applications 2301, andthat analyzes a request from the terminal 2040 and generates a responsefor the terminal 2040. The Web application distribution common library2120 converts the response described in XML by the Web page handler 2200into the response described in a display format by HTML (HyperTextMarkup Language) corresponding to the profile of the user using eachterminal 2040 by using the XSLT processor 2205.

The Web page handler 2200 is a processing part that converts a processlanguage understandable for the Web applications 2301 into anotherprocess language understandable in the communication control conductedwith the terminal 2040 for the request and the response. The Web pagehandler 2200 calls one Web application 2301 corresponding to the requestvia a CGI indicated by the request. Also, the Web page handler 2200sends a serialization request to the SOAP library 2201 to serializeprocess result data provided from the Web page function 2300.

Moreover, in the third embodiment, the Web page handler 2200 conducts anauthenticating process for the user of the terminal 2040 by referring toan authentication information DB 2121. When the user is authenticated,the process result provided from the Web page function 2300 is providedbased on the profile of the user. The profile is a category of the userand shows an authorization level such as a regular user, a systemadministrator, a service person, and a like. For example, the usercategorized as “administrator” is allowed to change network settingsrelated to devices such as the plotter 35-1 or the scanner 35-2 (shownin FIG. 1). The user categorized as “regular user” is only allowed todisplay the network settings or cannot access information related to thenetwork settings. The profile is used to determine a method forproviding information.

The authentication information DB 2121 manages a user name, a userpassword, a registered profile, and a like for each user. The registeredprofile shows the profile of the user when the user is registered.

The SOAP library 2201 converts the process result data given byvariables of C language into a description in XML so as to serialize theprocess result. In the third embodiment, serialization means to describethe process result provided from the Web page function 2300 in XML.

The XML library 2203 is used by the SOAP library 2201 to serialize theprocess result by describing in XML. Also, the XML library 2203 is usedby the XSLT processor 2205 to generate the process result described inHTML.

The XSLT processor 2205 converts the process result described in XMLinto HTML by using the XML library 2203 based on a style sheet 2430described in XSL (extensible Stylesheet Language) corresponding to theWeb application 2301 indicated by the request from the terminal 2040.The style sheet 2430 is prepared beforehand by corresponding to each Webapplication 2301.

When the Web page function 2300 is called from the Web page handler2200, for example, inquires the printer controlling part 2103 or thescanner controlling part 2105 mounted to the information processingapparatus 2100 through an API (Application Program Interface) 2017,obtains information showing a status of a plotter 35-1 or a scanner 35-2(shown in FIG. 1), and then provides the information to the Web pagehandler 2200. Moreover, the Web page function 2300 inquires the networkcontrolling part 2101 through the API 2017, obtains information from thenetwork controlling part 2101, and provides the information to the Webpage handler 2200.

Next, a detailed configuration for executing the Web applications 2301will be described with reference to FIG. 50. FIG. 50 is a block diagramfor explaining an execution of the Web applications according to thethird embodiment of the present invention. In FIG. 50, for example, inorder to provide information based on the configuration of the URL asshown in FIG. 3, the Web page handler 2200 includes an authenticationhandler 2205 executed to authenticate the user of the terminal 2040, adefault handler 2210 executed at a first request from the terminal 2040and at a role change request for requesting the Web page suitable for ahigher profile like the administrator, a system status providing handler2220 executed by the page transition in accordance with the instructionfrom the terminal 2040, a system configuration information providinghandler 2230 similarly executed by page transition, and a like.

Until an initial display screen is displayed at the terminal 2040, thedefault handler 2210 sequentially calls the Web default application 2310through “default.cgi”, and then “netsetting.cgi” indicated by the pageinformation 65 in accordance with the format of the URL shown in FIG. 3.As a result, for example, network settings of the device such theplotter 35-1 or the scanner 35-2 (shown in FIG. 1) mounted in theinformation processing apparatus 2100 are displayed at the terminal2040.

The system status providing handler 2220 calls a function for the Websystem status providing application 2320 for providing informationconcerning the device mounted in the information processing apparatus2100. In addition, the system configuration information providinghandler 2230 calls the Web system configuration information providingapplication 2330 so as to obtain a system configuration information ofthe information processing apparatus 2100 in response to a request fromthe terminal 2040.

In the same manner of the second embodiment, the Web applicationdistribution common library 2120 executes each of the handlers 2210through 2230 based on the Web information ID 64 of the URL shown in FIG.3 by referring the hash lists 1050 a shown in FIG. 30A, and each of thehandlers 2210 through 2230 executes the Web applications 2301 based onthe page information 65 of the URL shown in FIG. 3 by referring the hashlist 1050 b shown in FIG. 30B. Also, in order to conduct the XSLconversion request which converts the process result described by XML tothe XSLT processor 2205 into HTML, the Web application distributioncommon library 2120 selects the style sheet 2430 based on the pageinformation 65 of the URL by referring to the hash list 1050 b shown inFIG. 30B. Therefore, detailed explanation thereof will be omitted.

In the third embodiment, When the Web default application 2310 isexecuted through “rolechange.cgi”, the Web default application 2310replaces the profile information 63 b in the common path information 60a of the URL with the profile as the regular user. In this case, thedefault handler 2210 calls a function rolechange( ) based on“rolechange.cgi”. The Web application distribution common library 2120selects the style sheet 2430 based on the page information 65 showing“rolechange.cgi”. For example, the style sheet 2430 is properly selectedby “rolechange.xsl” corresponding “rolechange.cgi”. The Web applicationdistribution common library 2120 executes the authentication handler2205 by “authentication_handler” to authenticate the user of theterminal 2040 when the user requests the Web page for the higherprofile.

For example, when the user who is actually the system administrator ofthe terminal 2042 accesses the information processing apparatus 2100 asthe regular user to display the initial display screen, in accordancewith the process flows shown in FIGS. 31, 32, 37, and 38 similar to thesecond embodiment, the default handler 2210 sequentially calls the Webdefault application 2310 through “default.cgi”, and then“netsetting.cgi” to display the initial display screen at the terminal2042, as described above. As a result, for example, the network settingpage are displayed at the terminal 2042 as shown in FIG. 45 in thesecond embodiment.

The network setting page in FIG. 45 in the second embodiment is the Webpage for the regular user. Thus, the network setting page in FIG. 45shows information concerning the network settings but the user of theterminal 2042 is not allowed to set or change the network settings.Since the user of the terminal 2042 is the administrator, the userrequests the network setting page for the system administrator to theinformation processing apparatus 2100. That is, the user requests thenetwork setting page for the higher profile.

A process flow to change the Web browser corresponding to a desiredprofile of the user will be described with reference to FIG. 51 throughFIG. 53.

FIG. 51 is a diagram showing a process flow by rolechange.cgi accordingto the third embodiment of the present invention. In FIG. 51, the userof the terminal 2042 selects the network setting page for the systemadministrator from a menu showing a profile lists. In this case, a menuHTML for displaying the menu includes a script for each profile. Forexample, <a href=“/pc/admin/en/webDefaultApl/rolechange.cgi”> isdescribed for the system administrator in the menu HTML. This scriptindicates that “rolechange.cgi” changes the profile information 53 b ina current common path information 60 a to “admin” showing the systemadministrator.

When the user selects the network setting page for the systemadministrator, an HTML request changing a role is sent from the terminal2042 to the information processing apparatus 2100 by indicating a URL of“/pc/admin/en/webDefaultApl/rolechange.cgi” (step S231).

Based on “webDefaultApl/rolechange.cgi”, the default handler 2210 callsthe function rolechange( ) so that the Web default application 2310 isexecuted. Then, the Web default application 2310 in the Web page handler2300 obtains profile information 53 b from the common path information60 a of the URL and creates a URL to call the network setting pagehaving the profile information 53 b showing “admin” (step S235). Forexample, “/pc/admin/en” is determined as the common path information 60a and “/webDefaultApl/netsetting.cgi” is determined as the relative pathinformation 60 b. And the XSLT processor 2205 generates an HTML responsehaving the URL calling the network setting page for the systemadministrator based on “rolechange.xsl”. The HTML response is sent tothe terminal 2042

The HTML is not display at the browser of the terminal 2042 butautomatically calls a HTML request displaying network settings with theprofile information 53 b showing “admin” (step S240).

The authentication handler 2205 includes an authentication determiningpart 2206 for determining whether or not the user is required to beauthenticated based on the URL of the HTML request and an authenticatingpart 2208 for authenticating the user by referring the authenticationinformation DB 2121. When the authentication handler 2205 is executed,the authentication handler 2208 obtains the profile information 53 b setin the URL and the determining part 2206 determines whether or not theprofile information 53 b shows “admin” (step S243).

In this case, since the profile information 53 b shows “admin”, thedetermining part 2206 determines that the user is required to beauthenticated. Thus, the authentication handler 2205 sends anauthentication request, that is, sends a predetermined “401 error” torequire authentication information to the terminal 2042 (step S245). Onthe other hand, when the determining part 2206 determines that the useris not required to be authenticated, the authenticating part 2208 of theauthentication handler 2205 executes the Web default application 2310 bycalling the function “netsetting.cgi” (step S244).

The terminal 2042 displays a password input screen to prompt the user toinput the password of the user and sends an authentication responseshowing authentication information including the password input by theuser to the information processing apparatus 2100 (step S250).Generally, a regular Web browser implements this authentication processsequence. It is not limited to this authentication process sequence buta special authentication screen can be formed and an originalauthentication process can be conduct.

The authenticating part 2208 of the authentication handler 2205 conductsthe authentication process to authenticate the user based on thepassword input by the user by referring the authentication informationDB 2121. When the user is successfully authenticated, the authenticationhandler 2205 executes the default application 2310 through“netsetting.cgi” (step S255).

After the process result is provided from the default application 2310,the network setting HTML for the system administrator is created basedon the profile information 53 c showing “admin” and sent to the terminal2042.

Once the terminal 2042 accesses the information processing apparatus2100 by the URL of “/pc/admin/en/webDefaultApl/rolechange.cgi”,“/pc/admin/en” is always succeeded while the user conducts the pagetransition. After that, the Web page provided from the informationprocessing apparatus 2100 by the page transition can be the Web page forthe system administrator.

Next, a process flow conducted by netsetting.cgi from step S255 and stepS270 will be described with reference to FIG. 52 and FIG. 53 in detailFIG. 52 and FIG. 53 are diagrams showing the process flow bynetsetting.cgi according to the third embodiment of the presentinvention. In FIG. 52, the default handler 2210 of the Web page handler2200 obtains the page information 65 showing “netsetting.cgi”, andspecifies and calls the function netsetting( ) corresponding to“netsetting.cgi” (step S255). In this case, the HTTP connectioninformation 2340 is set as an argument.

For example, in a case in that the Web page function 2300 is developedby C language, the Web page handler 2200 converts into a process type ofC language and calls the function netsetting( ).

By executing the function netsetting( ), the Web default application2310 requests information including a device name, a comment, and a liketo the network controlling part 2101 through the API 2017, in order todisplay the status of a device (for example, plotter 35-1 as theprinter) at the initial display screen (netsetting.cgi) (step S256-2).The network controlling part 2101 provides the information including thedevice name, the comment, and the like in response to the request (stepS256-4).

For example, the Web default application 2310 of the Web page function2300 requests the status of the printer to the printer controlling part2103 through the API 2017 (printer status request) (step S256-6). Theprinter controlling part 2103 provides the status of the plotter 35-1 asa printer status to the Web default application 2310 (step S256-8).

Then, the Web default application 2310 provides the printer status, andthe terminal type information 63 a, the profile information 63 b and thelanguage information 63 c from the request URL 2354 of the HTTP requestinformation 2350 as the process result data to the default handler 2210in the Web page handler 2200 (step S257).

In the following, the serialization process for describing in XML insteps S258, S259, S260, S261, and S262 is the same as the serializationprocess in steps S118, S119, S120, S121, and S122 in the secondembodiment, and explanation thereof will be omitted.

In order to convert the display data described in XML into a descriptionof HTML corresponding to the profile of the user using the terminal2042, the Web application distribution common library 2120 obtains thestyle sheet “netsetting.xsl” corresponding to the page information 56showing “netsetting.cgi”, and conducts the XSL conversion request withrespect to the XSLT processor 2205 (step S263). In this case, thedisplay data “Response DOM” and the style sheet “netsetting.xsl” are setas arguments. When the XSLT processor 2205 receives the XSL conversionrequest, the XSLT processor 2205 executes the style sheet“netsetting.xsl” indicated in the argument. Accordingly, the XSLTprocessor 2205 selects one template corresponding to the profile fromdescriptions of the style sheet, analyzes a syntax of the display data“Response DOM” described in XML (parse XML), creates a DOM, additionallyprovides elements and attributes (step S264), and converts into thedescription of HTML by using the XML library 2203 (step S265).

XSLT processor 2205 provides the description of HTML as the XSLconversion result to the Web application distribution common library2120 (step S266).

The process result described in HTML by the Web page function 2300 in acase in that the page information 65 is “netsetting.cgi” is output tothe Web application distribution common library 2120 as a networksetting HTML. Information concerning the network settings of the plotter35-1 is described in the network setting HTML.

This network setting HTML response is provided from the Web applicationdistribution common library 2120 to the sequence control library 2110(step S267), and then is provided from the sequence control library 2110to the HTTP daemon 2002 (step S268). Subsequently, the HTTP daemon 2002sends the network setting HTML response as a response in accordance withHTTP with respect to the request sent from the terminal 2042 (stepS269). Then, the process flow executed by “netsetting.cgi” isterminated.

Values that can be set in the URL as the profile information 53 b willbe describe with reference to FIG. 54. FIG. 54 is a diagram showing acorrespondence between the profile information to set in the URL and theprofile of the user according to the third embodiment of the presentinvention. In FIG. 54, “user” set in the URL shows that the userrequests the Web page as the regular user, “admin” set in the URL showsthat the user requests the Web page as the system administrator,“service” shows that the user requests the Web page as the serviceperson, and a like.

The authentication handler 2205 may send “401 error” if the profileinformation 53 c set in the URL is higher level than the profile of theuser managed in the authentication information DB 2121. Theauthentication handler 2205 may determine whether or not the user isrequired to be authenticated.

FIG. 55 is a diagram showing an example of the HTML response calling thenetwork setting page for the system administrator according to the thirdembodiment of the present invention. In FIG. 55, an HTML response 2400is not displayed at the terminal 2042, but a script 2401 that isJavascript™ calls the network setting page.

By a script 2402 showing “self.document.cookie=“cookieOnOffchecker=on;path=/” ”, information concerning the Web browser of the terminal 2042is obtained. By a scrip 2403 showing“self.location.pathname=“/pc/admin/en/webDefaultApl/netsetting.cgi””,the profile information “admin” is succeeded, and the Web defaultapplication 2310 of the Web page function 2300 is executed. That is, anetwork setting HTML for the system administrator is requested. During aseries of page transitions conducted by the user after that, an absolutepath is indicated by a script 2403 as a reference for a relative pathindicated by <a href> tag.

The process result described in XML will be described. FIG. 56 is adiagram showing an example of the process result described in XML bynetsetting.cgi according to the third embodiment of the presentinvention.

In FIG. 56, an XML 2500 shows the process result when the user issuccessfully authenticated to change the profile information 53 c from“user” to “admin”. In an XML 2500 shown in FIG. 56, the process resultby the function netsetting( ) of the Web default application 2310 isshown by a script 2501 showing from <networkResponse> to</networkResponse>. A script 2502 showing <terminal>pc</terminal> showsthat the terminal 2042 is a personal computer, a script 2503 showing<language>en</language> shows that a language displayed at the Webbrowser of the terminal 2042 is English, and a script 2504 showing<profile>admin</profile> shows that the user of the terminal 2042 is thesystem administrator. The scripts 2502 through 2504 show informationbased on the terminal type information 63 a, the profile information 63b, and the language information 63 c of the common path information 60 aof the URL.

A script 2505 showing <returnValue>SUCCESS</returnValue> shows that thenetwork settings are successfully conducted. A script 2506 showing<ipAddress>999.999.999.999</ipAddress> shows that the IP address of thedevice (for example, the plotter 35-1) is “999.999.999.999”. A script2507 showing <subnetMask>255.255.255.0</subnetMask> shows that thesubnet mask is “255.255.255.0”. A script 2508 showing <hostName>Printer1</hostname> shows that the name of the device is “Printer 1”.

In the third embodiment, the Web page handler 2200 includes a functionfor serializing the process result data provided from the Web pagefunction 2300 by describing in XML. Accordingly, each of Webapplications 2301 of the Web page function 2300 is not required toinclude a processing part for describing the process result for eachprofile.

The style sheet 2430, which converts the process result data describedin XML to be serialized, into HTML by the XSLT processor 2205 based onthe terminal type, will be described with reference to FIG. 57. FIG. 57is a diagram showing a description example of the style sheet forconverting the process result from XML to HTML according to the thirdembodiment of the present invention.

In the style sheet 2430 shown in FIG. 57, it is determined by a script2431 whether or not an element sandwiched with <terminal> tags shown bya script 2504 of the XML 2500 of FIG. 56 includes a character string“admin”, that is, it is determined whether or not the XML 2500 is theprocess result for the system administrator. A style sheet template forthe system administrator is applied by a script 2432 when the characterstring “admin” is included. Another style sheet template for the regularuser is applied when the character string “admin” is not included. Thestyle sheet template for the system manager is described in a script2434, and the style sheet template for the regular user is described ina script 2435. Details of each style sheet template are not shown inFIG. 57.

When the terminal 2042 requests the network setting page for the systemadministrator, for example, the process result of the functionnetsetting( ) of the Web default application 2310 is described in HTMLas shown in FIG. 58. FIG. 58 is a diagram showing a description exampleof HTML for the system administrator in that the process result of thenetsetting.cgi is shown, according to the third embodiment of thepresent invention. In FIG. 58, HTML 2570 for the system administrator isprovided to the terminal 2042 when the terminal 2042 requests thenetwork setting page for the system administrator and the user isauthenticated as the system administrator, and the process result of thefunction netsetting( ) of the Web default application 2310 is displayedat the Web browser of the terminal 2042 by scripts 2573 and 2575.

The 2573 and 2575 are created based on the style sheet 2430 to displayfor the system administrator at the browser of the terminal 2042. Thescript 2573 is a script described in HTML for allowing the user inputinformation concerning the network settings and send the informationinput by the user to the information processing apparatus 2100. Thescript 2575 is to link to one of other Web pages.

By the script 2575, the network setting HTML can be linked to either oneof two Web pages: “Browse System Status” page and “Browse SystemConfigurations”. By a script 2576 showing <a href=“ . . ./webSysstatusApl/sysstatus.cgi”>, “webSysstatusApl” as the Webapplication information 64 and “sysstatus.cgi” as the page information65 are set as the relative path. When the “Browse System Status” page isselected by the user of the terminal 2042, the “Browse System Status”page is displayed at the terminal 2042 while a current languageinformation 63 c is succeeded to by “ . . . /”. In the same manner, By ascript 2577 showing <a href=“ . . . /webSysconfigApl/sysconfig.cgi”>,“webSysconfigApl” as the Web application information 64 and“sysconfig.cgi” as the page information 65 are set as the relative path.When the “Browse System Configurations” page is selected by the user ofthe terminal 2042, the “Browse system Configurations” page is displayedat the terminal 2042 while a current profile information 63 b issucceeded to by “ . . . /”.

The network setting page is displayed in English as shown in FIG. 59 bythe network setting HTML in FIG. 58. FIG. 59 is a diagram showing thenetwork setting page for the system administrator according to the thirdembodiment of the present invention. In a network setting page 2580shown in FIG. 59, an input area 2584 and a selectable display 2585 aredisplayed at the terminal 2042 when the user of the terminal 2042 issuccessfully authenticated as the system administrator. The input area2584 is displayed based on the script 2573 in FIG. 58. The selectabledisplay 2585 is displayed based on the script 2575 in FIG. 58.

As described above, when the user conducts the page transition among theWeb applications 2301, the profile information 53 c is automaticallysucceeded. Therefore, the user of the terminal 2040 is not required toindicate the profile of the user to request the Web page suitable forthe profile.

Moreover, in the information processing apparatus 2100, a consistency ofcreating the web page suitable for the profile of the user can bemaintained among the Web applications 2301 in the Web page function2300. In addition, each of the Web applications 2301 is not required toinclude a process for creating the Web page for each profile.

Furthermore, the profile information 53 c is succeeded with respect tothe request from each of the terminals 2040. Therefore, it is possibleto display the Web page suitable for the profile of the user at theterminal 2040. In addition, the user is authenticated when the userchanges the profile to display the Web page suitable for the profile.Accordingly, it is possible to protect information maintained in theinformation processing apparatus 2100 depending on the profile of theuser.

The present invention is not limited to the specifically disclosedembodiments, and variations and modifications may be made withoutdeparting from the scope of the present invention.

The present application is based on the Japanese priority applicationsNo. 2002-212300 filed on Jul. 22, 2002, No. 2002-242548 filed on Aug.22, 2002, No. 2002-242550 filed on Aug. 22, 2002, and No. 2003-197850filed on Jul. 16, 2003 the entire contents of which are herebyincorporated by reference.

1. An information processing apparatus, comprising: a communication partconfigured to receive connection information from a terminal connectedthrough a network; and a Web page generating part, including aprocessor, configured to generate a Web page by determining whether theconnection information includes a URL including common path information,wherein the common path information includes at least one of terminaltype information, profile information, or language information, andrelative path information following the common path information, and bycalling a function based on the relative path information andindependent of the common path information, when the URL included in theconnection information includes the common path information and therelative path information following the common path information, whereinthe function called based on the relative path information andindependent of the common path information creates the Web pageutilizing a part of or the entire common path information, so that theWeb page is changed for different common path information, furthercomprising a plurality of applications, wherein the relative pathinformation includes application ID information specifying anapplication and page information specifying a function corresponding tothe specified application; and when creating link information linking toanother application in a Web page being created, the Web page creatingpart is configured to form the link information by relative information,which is static information, so as to have the terminal access the URLformed by the common path information and the relative path information.2. The information processing apparatus as claimed in claim 1, furthercomprising a URL creating part configured to create a URL by specifyinginformation creating the common path information from the connectioninformation and setting the information creating the common pathinformation to the common path information of the URL, wherein in a caseof a request in which the URL included in the connection informationdoes not include the common path information used for the functioncorresponding to the relative path information, by the URL creatingpart, the information creating the common path information is specifiedfrom the connection information, the information is set to the commonpath information of the URL, and the terminal is directed to access theURL.
 3. The information processing apparatus as claimed in claim 1,further comprising a plurality of handlers configured to call thefunction with a function name corresponding to page information of theURL by using the common path information, by referring to a firstcorrespondence list in which the function name to be called iscorresponded to page information, and wherein the plurality of handlersare configured to correspond to the plurality of applications,respectively; and the Web page generating part is configured to call oneof the handlers with a handler name corresponding to application IDinformation of the URL by using the common path information, byreferring to a second correspondence list in which the handler name iscorresponded to the application ID information.
 4. An informationprocessing method in an information processing apparatus including aplurality of applications for providing a Web page to a terminal inresponse to a request sent from the terminal connected through anetwork, comprising: receiving connection information from the terminal;and generating the Web page by determining whether the connectioninformation includes a URL including common path information, whereinthe common path information includes at least one of terminal typeinformation, profile information, or language information, and relativepath information following the common path information, and by calling afunction based on the relative path information and independent of thecommon path information, when the URL included in the connectioninformation is formed by the common path information and the relativepath information following the common path information, wherein thefunction called based on the relative path information and independentof the common path information creates the Web page utilizing a part ofor the entire common path information, so that the Web page is changedfor different common path information, wherein the relative pathinformation includes application ID information specifying anapplication and page information specifying a function corresponding tothe specified application; and when creating link information linking toanother application in a Web page being created, the Web page creatingpart is configured to form the link information by relative information,which is static information, so as to have the terminal access the URLformed by the common path information and the relative path information.